[問題] 為什麼會出現兩次

看板C_and_CPP (C/C++)作者 (PP)時間13年前 (2012/11/13 22:19), 編輯推噓1(104)
留言5則, 5人參與, 最新討論串1/1
各位好,有一個小小問題 就是要輸入一個A~Z字母 如果不是則重新輸入 為什麼我輸入一個不是A~Z要重新輸入會印出"請輸入字母A~Z"兩行 程式碼如下,小問題不好意思了 #include<stdio.h> #include<stdlib.h> int main() { char ch; printf("請輸入字母A~Z\n"); scanf("%c",&ch); while(ch<'A' || ch>'Z') { printf("請輸入字母A~Z\n"); scanf("%c",&ch); } system("pause"); return 0; } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 1.172.80.161

11/13 22:22, , 1F
判斷條件反了
11/13 22:22, 1F

11/13 22:31, , 2F
請查ASCII表,A = 65 , Z = 90
11/13 22:31, 2F

11/13 22:38, , 3F
謝謝你們...突然想到讀字元enter會作祟
11/13 22:38, 3F

11/13 23:39, , 4F
enter的關係
11/13 23:39, 4F

11/14 00:00, , 5F
在scanf的%c前面加上空格
11/14 00:00, 5F
文章代碼(AID): #1GebRjbF (C_and_CPP)
文章代碼(AID): #1GebRjbF (C_and_CPP)