פורסם 2007 באוקטובר 2718 שנים מטרת התוכנית: קוראת מהמשתמש מספרים שלמים בזה אחר זה וממשיכה כל עוד המספר שהוכנס הוא זוגי.#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?
פורסם 2007 באוקטובר 2718 שנים השגיאה נובעת מכך שאתה מציב בביטוי ערך של משתנה. סדר ההשמה הפוך (ימין ביטוי, שמאל משתנה השמה). זה אמור להראות כך :if (num = (num / 2) * 2 )בלי קשר לשאלה, הביטוי הלוגי שלך שגוי ולא יתן לך את מבוקשך.נסה לבצע את בדיקת הזוגי/לא זוגי בצורה אחרת.
פורסם 2007 באוקטובר 2718 שנים שים לב לשם המשתנה שרשמת שם..scanf("%d", &number);מה גם התוכנית שלך לא בלולאה.
פורסם 2007 באוקטובר 2718 שנים יש לך 3 שגיאות.השורה הזו:if ( (num / 2) * 2 = num )צריכה להיות:if ( (num / 2) * 2 == num )סימן שוויון אחד אומר השמה, שני סימנים הם השוואה.שגיאה שנייה, כפי שצויין כאן - אתה קורא לתוך number ולא לתוך num.שגיאה שלישית - בתכנית שלך אין בכלל לולאה, אז איך אתה מצפה שהיא תמשיך לקרוא מספרים?נ.ב. כשאתה מכניס קוד לפורומים, תשתמש בכפתור של קוד (כפתור של סולמית).
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.