我正在为我的开关盒编写代码。我正在接受用户的输入并根据输入打印相应的日期。但我的问题是,如果用户正在给字符串输入它打印情况0语句作为输出。任何人都可以请纠正这个程序?开关盒和用户输入字符串的整数输入
#include<stdio.h>
int main(void){
int days;
scanf("%d",&days);
switch(days){
case 0: printf("Mon");break;
case 1: printf("Tue");break;
case 2: printf("Wed");break;
case 3: printf("Thu");break;
case 4: printf("Fri");break;
case 5: printf("Sat");break;
case 6: printf("Sun");break;
default: printf("Plz enter a valid day(0-6) :(");
}
return 0;
}
我的输出打印:
>>a.out
Naveen
mon
'INT天;' - >'INT天= -1;' – BLUEPIXY
例如什么@BLUEPIXY说,但我会建议使用** 'scanf()'的返回值**告诉你成功执行了多少次转换。你期望'1',但是如果输入不能被解析成数字,你会得到'0'(如果有'EOF'或者错误,你会得到'EOF')。始终检查可返回错误指示的函数的返回值! –