שאלה בC

MANFRW

New member
שאלה בC

#include <stdio.h>

int main() {

int a;

printf("enter number: ");
if ((scanf("%d", &a)) < 1) {
printf("error!!!");
}
printf("%d",a);
return 0;
}


כשמכניסים את הקלט 123abc אז הערך ש-a מקבל הוא 123 ופשוט מתעלם מהאותיות ... איך ניתן לטפל בבעיה זו? תודה
 

CodeNinja

New member
טוב...

אתה קולט פה מספר ממשי (int) ולכן a שמוגדר כממשי מקבל רק את המספר.

מה שאתה צריך לעשות זה דבר כזה:

#include <stdio.h>

int main() {

char a[20];

printf("enter number: ");
if ((scanf("%s", &a)) < 1) {
printf("error!!!");
}
printf("%s",a);
return 0;
}

ככה אתה בעצם קולט מחרוזת (מערך של char-ים) ומדפיס אותה לאחר מכן.
 
למעלה