回覆列表
  • 1 # 使用者834195712159

    C語言中gets函式與getchar函式的區別

    一、函式輸入方面

    1、gets()函式用來從標準輸入裝置(鍵盤)讀取字串直到回車結束,但回車符不屬於這個字串。其呼叫格式為:gets(s);s為字串變數(字串陣列名或字串指標),gets(s)函式與scanf("%s", &s)相似,但不完全相同。

    2、而getchar函式執行時字元是連續輸入的,執行結果卻是正確的,這是因為輸入字元後,它們暫存於鍵盤的緩衝區中,然後由getchar函式從鍵盤緩衝區中一個一個的取出來。就是如果輸入了空格會認為輸入字串結束,空格後的字元將作為下一個輸入項處理,但gets() 函式將接收輸入的整個字串直到回車為止。

    二、字元輸入方面

    1、gets()函式可以用於對字串的輸入,不需要將字串拆分成一個一個的字元進行輸入。

    2、而getchar函式只能用於單個字元的輸入,一次輸入一個字元。程式的功能是輸入一個字元,顯示一個字元,回車換行,再輸入並顯示一個字元。

    三、輸出格式

    1、gets函式是輸入一行字串,以回車結束,並且回車鍵會被過濾掉,不會被讀回到字串中。

    2、而getchar()是讀答取一個字元,包括回車鍵也會被讀成一個字元。這個程式在輸入name[i]前,用getchar()把之前scanf("%d",&num[i]);中,輸入整數後按的回車鍵給讀走,否則這個回車鍵會導致gets直接讀到一個空字串。

  • 中秋節和大豐收的關聯?
  • 為什麼感覺LOL排位鱷魚一點也沒有用呢?