回覆列表
  • 1 # 使用者5811302472535

    一個是回車鍵的鍵值,一個是換行符。getch()函式是返回你按下的鍵的鍵值,它會設定控制檯(你的那個黑色的cmd視窗)為無回顯、無緩衝模式,當按了一個鍵時,getch()函式會立刻返回鍵值(無緩衝),不會顯示你輸入的字元(無回顯)。scanf()、getchar()之類的函式,使用的是標準輸入模式,按什麼鍵,螢幕上就會顯示相應字元,在你按回車鍵時,控制檯會將你輸入的回車換成換行符,存入輸入緩衝區,讓這些函式取出來。你按了什麼鍵, 輸入了什麼字元,輸出了什麼內容,主要是由控制檯的工作模式決定。為什麼Ctrl+J返回的是"\n"?這是控制檯提供的一種直接輸入換行符的方法,不用糾結為什麼非要是Ctrl+J才能輸入換行符;貌似getch()函式不能獲取ctrl、shift之類的按鍵的鍵值,而設計者為了能夠輸入"\n",就恰好選擇了讓Ctrl+J組合鍵能夠輸入"\n"。

  • 2 # 使用者4912889400776

    自己測試一下,getchar必須遇到回車才接受指令,getch則隨意

    #include

    #include

    int main()

    {

    printf("現在開始測試getchar()\n");

    getchar();

    printf("finish!\n");

    printf("現在開始測試getch()\n");

    getch();

    printf("Finish!!\n");

    return 0;

    }

  • 中秋節和大豐收的關聯?
  • 薩摩耶可以長多重?