עזרה ב-C

maromnn

New member
עזרה ב-C

שלום, כתבתי קוד ורציתי לדעת למה הוא מדלג על הקלט של b ?
#include <stdio.h> void main() { char a,b,c; printf("What is the Number of the Players?: "); scanf("%c",&a); printf("\nDo Yous want to play with the computer? Y/N: "); scanf("%c",&b); printf("\nDo You want to Use the \"Remainder\"? Y/N: "); scanf("%c",&c); printf("%c,%c,%c",a,b,c); }​
משהו מוזר.... תודה.
 

codec

New member
כבר היינו בסיפור הזה

בדיוק היה כאן דיון על זה בשבוע שעבר. בכל מקרה, מה שקורה זה ש"שאריות" מהקלט הראשון נשארו ב-buffer, ולכן הן נקראות ע"י ה-scanf השני. אתה צריך לעשות flush אחרי כל scanf, או לקרוא את כל הקלט ה"מיותר" ע"י getch, למשל. היה קישור לדיון הקודם.
 
למעלה