الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كود محيرني

مغلق
بدأه OpenGL في 23 أغسطس 2006 · 7 رد · 567 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم...

أود أن استفسر عن كود لست أفهمه في السي\سي++

#include<stdio.h>
main()
{

int counter;
for(counter=0;counter<=20;++counter)
printf("%d.",counter);
return 0;
}

هذا الكود المفروض يحسب من 0 الى 20 كما ترون ولكن لماذا الكود التالي خطأ
يعني لو حطينا يساوي مو منطقياً مافي مشاكل ليه يعلق؟


for(counter=0;counter=20;counter++)

أقصد لماذا يجب كتابة <= بدلا من = فقط!

ومعليع لو تعبتكم

شكراً وجعله الله في موازين حسناتكم

تم تعديل هذه المشاركة بواسطة OpenGL في 23 أغسطس 2006 في 07:51

opengl_animated.gif

There's nothing in this world that you can't be if you want it enough

#2
for(counter=0;counter==20;counter++)

سبحانك اللهم وبحمدك أشهد ان لا اله الا أنت

أستغفرك وأتوب اليك

الهم صلي وسلم وبارك على سيدنا وحبيبنا محمد

#3

برضو يعلق

opengl_animated.gif

There's nothing in this world that you can't be if you want it enough

#4

أكتبه كده ولو فى حجه تانية نرجو التوضيح

#include<stdio.h>

main()

{

int counter;

for(counter=0;counter<21;counter++)

printf("%d",counter)

return 0;

}

[code/]

تم تعديل هذه المشاركة بواسطة أمير المبرمجين في 23 أغسطس 2006 في 10:30

#5

أخي ماهي حلقة for ؟!

حلقة تكرارية تأخذ ثلاثة وسطاء

الاول بداية العداد

الثاني شرط التكرار(سيتم تنفيذ الحلقة طالما الشرط صحيح)

الثالث:مؤثر الزيادة أو النقصان (معدل التغير)

عندما قلنا => هذا يعني ان الحلقة ستتكرر ويتم طباعة العداد بما ان الشرط صحيح

اي عندما يكون 0 سيطبع 0 وعندما يكون 1 يطبع 1 وهكذا إلى ان يكون 20 هل 20 أقل أو تساوي 20 ؟! نعم اطبع 20

بعدا سيكون العداد 21 هل 21 اقل او تساوي 20 ؟! لا .. عندها سنخرج من الحلقة

اما لو اتينا لشرطك

[codefor(counter=0;counter==20;counter++)
فهذا يعني ان كونتر يساوي 0 كقيمة ابتدائية وتقول لحلقة for اذا كان كونتر يساوي 20 نفذ الحلقة .. ثم سيتم اختبار الشرط
هل 0 تساوي 20 ؟! طبعا لا اذا لن يتم تنفيذ الحلقة
نحن نستطيع ان نغير الشرط إلى شرط اخر وهو
for(counter=0;counter!=21;counter++)

وهذا يعني نفذ الحلقة طالما كونتر لا يساوي 21 وعندها سيختبر الشرط

هل 0 لايساوي 21 ؟! نعم

كرر واستمر بالطباعة إلى ان نصل إلى 20

هل 20 لاتساوي 21 ؟! نعم كرر

وعندها سيصبح كونتر 21

هل 21 لا يساوي 21 ؟! لا

اذا اخرج من الحلقة

اذا الخلاصة

الحلقة يتم تنفيذها طالما الشرط صحيح

هذا والله اعلم

llback.jpg

اشهد ان لا إله إلا الله وان محمدا ً رسول الله

#6

والحلقة السابقة سيستمر البرنامج فى العد من 0 إلى عشرين حتى يأتى 21 ويتوقف والله يوفق الجميع

#7

والله ماقصرتوا ألف شكر

جزاكم الله خير

opengl_animated.gif

There's nothing in this world that you can't be if you want it enough

#8

لا شكر على واجب كلنا فى نفس الطريق

هذا الموضوع مغلق.

مواضيع مشابهة