אווו

ScorpiaV

New member
אווו

פליז שמישו יעזור לי בלהבין את לולאת FOR בשפת C!!!!! בבקששששששששששה! זה דחוף! ד"T, אני ויקי!
 

GPhoenixX

New member
oO

for (int i=0;i<10;i++) { // bla }​
ללואת for יש 3 "פרמטרים", הראשון מתבצע לפני הכניסה ללואה, בד"כ משמש לאתחול אינדקס הלולאה לערך התחלתי כלשהו. השני, תנאי לעצירת הלואה, או יותר נכון תנאי להמשך הלולאה, הלולאה תמשיך על עוד אינדקס הלולאה - i קטן מ10. השלישי הוא צעד הלולאה, מה יתבצע בכל כניסה ללולאה (מלבד הכניסה הראשונה), במקרה הזה ערכו של i יגדל ב1. הלולאה הזאת בעצם תרוץ 10 פעמים, כשערכי i ישתנו מ0 עד 9 ...
 

DarkSwell

New member
תיקון..

הפרמטר השלישי הוא הפעולה האחרונה בכל איטרציה.
 

eyalbd

New member
זה לא C. זה ++C

אתה לא יכול להכריז ב-C על משתנה בתוך ה for
int i ; ... for (i = 0; i < N; ++i) { ... }​
 

annefan

New member
זה C, זה C

אמנם C99, אבל זה הסטנדרט.
gcc -std=c99 <sourcefile>​
 

אלדד28

New member
זה יעזור הרבה יותר,

אם תצייני מה בדיוק הבעיה שלך. אני אנסה בכל זאת להדגים לך. נגיד שיש לך לולאה שנראית ככה:
for (i = 0; i < 10; i++) { do something; }​
מה שיתבצע בפועל זה:
1. i = 0 2. if (i < 10) then 2.1. do something 2.2. i++ 2.3. goto 2​
וזה הכל. כלומר, פעם אחת (בשלב 1) מתבצע החלק הראשון של ה-for - חלק האתחול. אח"כ יתבצע החלק של ה-do something והחלק השלישי של ה-for, עד אשר התנאי בחלק השני יפסיק להתקיים. עוד דרך לכתוב את ה-for היא כזו:
i = 0; for ( ; i<10 ; ) { do something; i++; }​
שימי לב שהחלק הראשון והשלישי חסרים - החלק הראשון מתבצע לפני הלולאה, והחלק השלישי מתבצע בתוך הלולאה, בסופה. זה כל הסיפור!
 
עפ"י הערכת אוֹריארד:../images/Emo26.gif

הבעיה שלה היא שיש לה מחר בוחן, והחברים שלה לכיתה אמרו לה שהבוחן הוא על לולאות for ב-C (מה שלא אמר לה הרבה)
.
 
למעלה