السّلام عليكم,
أرجو منكم مساعدتي في ايجاد خرج هذا الكود و تفسيره:
int i;
int vals[5];
for (i = 0; i <= 5; i++) {
vals[i] = 0; }
printf("%d\n", i);
return 0;
ملاحظات :
اولا مخارج Otuput وليس خرج.
ثانيا الكود يجب ان ينفذ حتى تتعرف على مخارجه.
ثالثا لديك خطأ : المصفوفة vals تاخذ خمس قيم فقط وانت في حلقة التكرار for تجبرها على اخذ ستة قيم وهذا خطأ.
البرنامج ليس له مخارج لأنه خاطئ
التفسير:
سطر واحد : البرنامج يعرف متغير من نوع رقم صحيح باسم i لاستخدامه للعد في حلقة التكرار
سطر اثنين : البرنامج يعرف مصفوفة من رقم صحيح وتستوعب ٥ قيم على الاكثر
سطر ثلاثة : البرنامج يبدأ حلقة تكرار تبدأ من الرقم صفر وتنتهي بالرقم ٥ (٦ ارقام)
سطر اربعة : داخل حلقة التكرار يتم اسناد قيمة العنصر في المصفوفة الموافق لرقم العد في حلقة التكرار واعطاءه قيمة صفر. وبما ان حلقة التكرار تتكرر ستة مرات فهذا يعني انه سيتم اسناد ٦ قيم الى المصفوفة حتى العنصر vals[5] وهذا خطأ لان اخر عنصر بالمصفوفة هو ٤.
السطر خمسة : يتم طباعة رقم العد الاخير لحلقة التكرار مع انزال السطر
السطر الاخير : نهاية البرنامج.
التعليقات