605.
設計說明:
1 修改程式碼片段中的程式語法、邏輯上的錯誤,執行結果如範例圖。
參考程式碼:
TQC+ C 試題總整理
- #include <stdio.h>
- #include <stdlib.h>
- #include <ctype.h>
- int main ()
- {
- char ch, ch2;
- printf("請輸入一小寫的英文字母: ");
- scanf("%c", &ch);//加上"&"
- //將下列的字元轉為大寫
- ch2=toupper(ch);
- printf("%c的大寫是%c", ch, ch2);
- while (getchar() != '\n') {//這邊是要將使用者多輸入的東西消耗掉
- continue;
- }
- //將下列的字元轉為小寫
- printf("\n請輸入一大寫的英文字母: ");
- scanf("%c", &ch);//加上"&"
- ch2=tolower(ch);
- printf("%c的小寫是%c", ch, ch2);
- system("PAUSE");
- return 0;
- }
TQC+ C 試題總整理
聲明:
這裡的範例程式碼皆由本人親自編輯,歡迎轉載本教學,但請註明本網站,尊重一下作者的心血
執行”scanf("%c", &ch)“時,他是從記憶體裡抓取一個字元,但是輸入時並非只有輸入一個字元,如輸入“a”會同時輸入"enter","enter"它也是一個字元所以第二次抓取時他發現記憶體裡還有字元就會抓記憶體的,而不會讓你輸入。
回覆刪除而這一段就是用“getchar”抓取記憶體的值直到"\n"也就是說enter,把記憶體清空這樣下一個“scanf”才會叫你再次輸入。