[問題] 初學者問題

看板C_and_CPP (C/C++)作者 (你腦卡好)時間15年前 (2011/03/05 14:32), 編輯推噓2(207)
留言9則, 4人參與, 最新討論串1/1
#include <stdio.h> int main(void) { double num; char ch; printf("請輸入文字\n"); ch=getchar(); printf("%c已輸入。\n",ch); printf("請輸入小數\n"); scanf("%lf",&num); printf("%f已輸入。\n",num); system("pause"); return 0; } 上面這樣可以 下面這樣不行 為什麼呢 #include <stdio.h> int main(void) { double num; char ch; printf("請輸入小數\n"); scanf("%lf",&num); printf("%f已輸入。\n",num); printf("請輸入文字\n"); ch=getchar(); printf("%c已輸入。\n",ch); system("pause"); return 0; } 到底是那裡錯了,是什麼原因呢 有人能告訴我嗎 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.31.130.76

03/05 14:35, , 1F
你按 enter 也是一個字, 存進其他變數時會跳過 '\n'
03/05 14:35, 1F

03/05 14:35, , 2F
char 變數則不會
03/05 14:35, 2F

03/05 14:43, , 3F
下面那段程式 不會等我輸入文字
03/05 14:43, 3F

03/05 14:44, , 4F
我第一次要輸入數字 按enter,他應該停在第二次讓我輸入
03/05 14:44, 4F

03/05 14:50, , 5F
3.12[enter] 這樣共讀入5個字元, 前面4個字元給你的
03/05 14:50, 5F

03/05 14:50, , 6F
num, [enter]直接給你的ch, 有東西當然不需要你再輸入
03/05 14:50, 6F

03/05 16:10, , 7F
這好像是很常遇到的問題
03/05 16:10, 7F

03/05 16:35, , 8F
恩,那我以後這樣用要記得先用getchar
03/05 16:35, 8F

03/06 23:06, , 9F
請改標題
03/06 23:06, 9F
文章代碼(AID): #1DSTZr-w (C_and_CPP)
文章代碼(AID): #1DSTZr-w (C_and_CPP)