[問題] scanf疑問
( *[1m *[m 為色碼,可以按 Ctrl+V 預覽會顯示的顏色 )
( 未必需要依照此格式,文章條理清楚即可 )
遇到的問題: (題意請描述清楚)
我使用scanf函式,分別做兩種實驗
1.先輸入一個字元後輸入入一個數字
2.先輸入一個數字後輸入一個字元
其中第1個實驗可以成功,第二個卻不行...我想知道差在哪
希望得到的正確結果:
輸入1個int:999
輸入1個char:a
Press any key to continue
程式跑出來的錯誤結果:
輸入1個int:999
輸入1個char:Press any key to continue
(螢幕印出"輸入1個char:",緊接者會結束程式顯示Press any key to continue
我無法順利輸入一個字元
開發平台: (例: VC++ or gcc/g++ or Dev-C++, Windows or Linux)
VC++
有問題的code: (請善用置底文標色功能)
EX1. 這可以很正確出現我要的輸入(程式功能:先輸入1個char,後輸入1個int)
int a1 = 0;
char c = 'c';
printf("輸入1個char:");
scanf("%c",&c);
printf("輸入1個int:");
scanf("%d",&a1);
EX2. 出問題了無法輸入char,輸入完int會直接結束
(程式功能:先輸入1個int,後輸入1個char)
int a1 = 0;
char c = 'c';
printf("輸入1個int:");
scanf("%d",&a1);
printf("輸入1個char:");
scanf("%c",&c);
EX3. 這可以很正確出現我要的輸入(程式功能:先輸入1個int,後輸入1個char)
int a1 = 0;
char c = 'c';
printf("輸入1個int:");
scanf("%d",&a1);
printf("輸入1個char:");
scanf(" %c",&c);
在EX2與EX3的差異我標註起來了,若就EX3要空一格,為何EX1卻沒空仍可以正常顯示
補充說明:
感謝幫忙
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.230.224.164
→
10/20 22:27, , 1F
10/20 22:27, 1F
→
10/20 22:28, , 2F
10/20 22:28, 2F
→
10/20 22:29, , 3F
10/20 22:29, 3F
→
10/20 22:30, , 4F
10/20 22:30, 4F
→
10/20 22:30, , 5F
10/20 22:30, 5F
推
10/20 23:16, , 6F
10/20 23:16, 6F
→
10/20 23:21, , 7F
10/20 23:21, 7F
推
10/21 01:26, , 8F
10/21 01:26, 8F