English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
في هذا المثال، يتم استخدام الاستدعاءات بالمراجع لتبادل الأرقام الثلاثة المدخلة بشكل متكرر.
لفهم هذا المثال، يجب أن تكون على علم بما يليبرمجة Cالموضوع:
#include <stdio.h> void cyclicSwap(int *a, int *b, int *c); int main() { int a, b, c; printf("ادخل a،b وc بشكل منفصل:\n"); scanf("%d %d %d", &a, &b, &c); printf("القيم قبل التبادل:\n"); printf("a = %d b = %d c = %d\n", a, b, c); cyclicSwap(&a, &b, &c); printf("القيم بعد التبادل:\n"); printf("a = %d b = %d c = %d", a, b, c); return 0; } // تبادل متكرر void cyclicSwap(int *n1, int *n2, int *n3) { int temp; temp = *n2; *n2 = *n1; *n1 = *n3; *n3 = temp; }
نتيجة الخروج
ادخل a،b وc بشكل منفصل: 1 2 3 القيم قبل التبادل: a = 1 b = 2 c = 3 القيم بعد التبادل: a = 3 b = 1 c = 2
في هذا السياق، يتم تخزين الأرقام المدخلة من قبل المستخدم في المتغيرات a،b وc. سيتم نقل عناوين هذه الأرقام إلى دالة cyclicSwap().
cyclicSwap(&a, &b, &c);
في تعريف الدالة المتكررة cyclicSwap()، قمنا بتخصيص هذه العناوين للإشارات.
cyclicSwap(int *n1, int *n2, int *n3) { ... }
عندما تتغير n1، n2 و n3 في cyclicSwap()، فإن قيم a، b و c في main() ستتغير أيضًا.
ملاحظة:لا يعود أي شيء من وظيفة cyclicSwap().