我正在爲我的開關盒編寫代碼。我正在接受用戶的輸入並根據輸入打印相應的日期。但我的問題是,如果用戶正在給字符串輸入它打印情況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')。始終檢查可返回錯誤指示的函數的返回值! –