English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
في هذا الدرس، ستتعلم كيفية إنشاء جملة goto في لغة C. بالإضافة إلى ذلك، ستتعلم أيضًا متى تستخدم جملة goto وأيضًا متى لا تستخدمها.
جملة goto تسمح لنا بنقل تحكم البرنامج إلى وسم معين.
goto label; ... .. ... ... .. ... label: statement;
label هو وسم. عند وصول goto إلى هذه الجملة، ينتقل التحكم في البرنامج إلى label: ويبدأ تنفيذ الكود.
//برنامج يحسب مجموع الأرقام الإيجابية //إذا كان الرقم المدخل هو سالب، فاعرض الجملة والوسط الحسابي. #include <stdio.h> int main() { const int maxInput = 100; int i; double number, average, sum = 0.0; for (i = 1; i <= maxInput; ++i) { printf("%d. إدخال الرقم: ", i); scanf("%lf", &number); //إذا كان الرقم المدخل هو سالب، فالقفز if (number < 0.0) { goto jump; } sum += number; } jump: average = sum / (i - 1); printf("Sum(الجملة) = %.2f\n", sum); printf("Average(الوسط الحسابي) = %.2f", average); return 0; }
نتيجة الخروج
1. إدخال الرقم: 3 2. إدخال الرقم: 4.3 3. إدخال الرقم: 9.3 4. إدخال الرقم: -2.9 Sum(الجملة) = 16.60 Average(الوسط الحسابي) = 5.53
استخدام جملة goto قد يؤدي إلى وجود أخطاء في الكود و صعوبة في متابعة. مثلًا،
one: for (i = 0; i < number; ++i) { test += i; goto two; } two: if (test > 5) { goto three; } ... .. ...
بالإضافة إلى ذلك،سماح جملة goto بتنفيذ عمليات سيئة، مثل الخروج من النطاق.
على الرغم من ذلك،goto في بعض الأحيان قد يكون مفيدًا. مثلًا: كسر الدوال المدمجة.
إذا كنت تعتقد أن استخدام جملة goto يمكن أن يسهل البرنامج، يمكنك استخدامها. على الرغم من ذلك، goto أقل استخدامه، يمكنك أيضًا إنشاء أي برنامج C دون استخدام أي جملة goto.
هذه كلمات Bjarne Stroustrup، مبتكر C++الحقائق التي تجعل 'goto' قادرًا على القيام بكل شيء، هي السبب في أننا لا نستخدمه.