עבור לתוכן

מה הבעיה בתוכנית הזו ב-C?

Featured Replies

פורסם

מטרת התוכנית: קוראת מהמשתמש מספרים שלמים בזה אחר זה וממשיכה כל עוד המספר שהוכנס הוא זוגי.

#include <stdio.h>

int main()

{

int num;

printf("Enter an even number: ");

scanf("%d", &num);

if ( (num / 2) * 2 = num )

{

printf("Enter an even number: ");

scanf("%d", &number);

}

else

{

printf("You entered an odd number!");

}

return(0);

}

מדוע מתקבלת שגיאת invalid lvalue in assignment בפונקצית if?

פורסם

השגיאה נובעת מכך שאתה מציב בביטוי ערך של משתנה. סדר ההשמה הפוך (ימין ביטוי, שמאל משתנה השמה). זה אמור להראות כך :

if (num = (num / 2) * 2 )

בלי קשר לשאלה, הביטוי הלוגי שלך שגוי ולא יתן לך את מבוקשך.

נסה לבצע את בדיקת הזוגי/לא זוגי בצורה אחרת.

פורסם

שים לב לשם המשתנה שרשמת שם..

scanf("%d", &number);

מה גם התוכנית שלך לא בלולאה.

פורסם

יש לך 3 שגיאות.

השורה הזו:

if ( (num / 2) * 2 = num )

צריכה להיות:

if ( (num / 2) * 2 == num )

סימן שוויון אחד אומר השמה, שני סימנים הם השוואה.

שגיאה שנייה, כפי שצויין כאן - אתה קורא לתוך number ולא לתוך num.

שגיאה שלישית - בתכנית שלך אין בכלל לולאה, אז איך אתה מצפה שהיא תמשיך לקרוא מספרים?

נ.ב. כשאתה מכניס קוד לפורומים, תשתמש בכפתור של קוד (כפתור של סולמית).

פורסם
  • מחבר

תודה. זה עובד כעת..

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים