網站聲明

本網站包含了各式各樣的資源,如果有侵占到您的著作權,請與本人通知,本人會立即改進。本站所有發表僅屬研究討論性質,如果有任何後果請自行負責。

2014-06-13

TQC+ C 字元字串與檔案處理 605

605.
設計說明:

1 修改程式碼片段中的程式語法、邏輯上的錯誤,執行結果如範例圖。


參考程式碼:
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <ctype.h>
  4. int main ()
  5. {
  6.  char ch, ch2;
  7.  printf("請輸入一小寫的英文字母: ");
  8.  scanf("%c", &ch);//加上"&"
  9.  //將下列的字元轉為大寫
  10.  ch2=toupper(ch);
  11.  printf("%c的大寫是%c", ch, ch2);
  12.  while (getchar() != '\n') {//這邊是要將使用者多輸入的東西消耗掉
  13.   continue;
  14. }
  15.  //將下列的字元轉為小寫
  16.  printf("\n請輸入一大寫的英文字母: ");
  17.  scanf("%c", &ch);//加上"&"
  18.  ch2=tolower(ch);
  19.  printf("%c的小寫是%c", ch, ch2);
  20.  system("PAUSE");
  21.  return 0;
  22. }

TQC+ C 試題總整理

聲明:

這裡的範例程式碼皆由本人親自編輯,歡迎轉載本教學,但請註明本網站,尊重一下作者的心血

1 則留言:

  1. 執行”scanf("%c", &ch)“時,他是從記憶體裡抓取一個字元,但是輸入時並非只有輸入一個字元,如輸入“a”會同時輸入"enter","enter"它也是一個字元所以第二次抓取時他發現記憶體裡還有字元就會抓記憶體的,而不會讓你輸入。
    而這一段就是用“getchar”抓取記憶體的值直到"\n"也就是說enter,把記憶體清空這樣下一個“scanf”才會叫你再次輸入。

    回覆刪除

歡迎留言,較舊文章需要留言審核看不到自己的留言是正常的。
若長時間無回應請使用以下聯絡方式:
填寫表單:https://forms.gle/hxxX9n4tATcFnhnk8
寄信到:happyplayblogs@gmail.com