[問題] 兩個scanf問題
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
Code::blocks
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
問題(Question):
照理說輸入a之後第二個scanf會接收Enter,但我照寫了一個卻不會
我宣告成int a,b 結果兩個都可以輸入第二個並沒有接收到Enter
如果宣告成char 並且輸入字元才會錯
個人認為是scanf %d的話不讀入跳行字元所以可以順利讀取另一個整數
所以我改成
{
int a,b;
char c,d;
scanf("%d",&a);
scanf("%d",&b);
scanf("%c",&c);
scanf("%c",&d);
}
這樣子,輸入a b 後應該有兩個Enter在緩衝區給c d接收
但是我卻又可以輸入d...是我哪裡搞錯嗎?
餵入的資料(Input):
預期的正確結果(Expected Output):
錯誤結果(Wrong Output):
程式碼(Code):(請善用置底文網頁, 記得排版)
int a;
int b;
scanf("%d",&a);
scanf("%d",&b);
補充說明(Supplement):
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.217.32.140
※ 編輯: asadman1523 來自: 61.217.32.140 (05/22 02:27)
→
05/22 02:24, , 1F
05/22 02:24, 1F
※ 編輯: asadman1523 來自: 61.217.32.140 (05/22 02:28)
推
05/22 02:38, , 2F
05/22 02:38, 2F
→
05/22 02:39, , 3F
05/22 02:39, 3F
→
05/22 02:39, , 4F
05/22 02:39, 4F
→
05/22 02:50, , 5F
05/22 02:50, 5F
→
05/22 02:55, , 6F
05/22 02:55, 6F
如果都是忽略,c,d 應該都可以輸入才對,但c會略過
→
05/22 03:12, , 7F
05/22 03:12, 7F
→
05/22 03:36, , 8F
05/22 03:36, 8F
→
05/22 03:38, , 9F
05/22 03:38, 9F
推
05/22 03:38, , 10F
05/22 03:38, 10F
→
05/22 09:07, , 11F
05/22 09:07, 11F
→
05/22 09:07, , 12F
05/22 09:07, 12F
→
05/22 09:08, , 13F
05/22 09:08, 13F
→
05/22 12:09, , 14F
05/22 12:09, 14F
真的嗎!? 我沒注意到!!sorry!!請再推一次!!
※ 編輯: asadman1523 來自: 61.217.32.140 (05/22 13:36)
※ 編輯: asadman1523 來自: 61.217.32.140 (05/22 13:40)
→
05/22 13:50, , 15F
05/22 13:50, 15F
→
05/22 13:50, , 16F
05/22 13:50, 16F
討論串 (同標題文章)