區別:
1、gets讀一行,getchar()讀一個字元。函式原型:char * gets(char * ptr);int getchar(void);
2、函式用法: 1)gets()用於從標準輸入流stdin讀入一個整行(以"\n"或EOF)結束,寫入ptr指向的字元陣列,並返回這個指標;出錯或遇到檔案結束時則返回NULL。行末的"\n"從流中取出,但不寫入陣列。gets()不檢查被寫入的陣列大小。 2)getchar()用於從標準輸入流stdin讀入一個字元,並返回這個字元。如果讀到檔案結尾,則返回EOF。注意到EOF不能用char型別表示,所以getchar()函式返回的是一個int型的數。使用時也應該注意這一點。 這個函式中的作用: 這個程式在輸入name[i]前,用getchar()把之前scanf("%d",&num[i]);中,輸入整數後按的回車鍵給讀走,否則這個回車鍵會導致gets直接讀到一個空字串。
區別:
1、gets讀一行,getchar()讀一個字元。函式原型:char * gets(char * ptr);int getchar(void);
2、函式用法: 1)gets()用於從標準輸入流stdin讀入一個整行(以"\n"或EOF)結束,寫入ptr指向的字元陣列,並返回這個指標;出錯或遇到檔案結束時則返回NULL。行末的"\n"從流中取出,但不寫入陣列。gets()不檢查被寫入的陣列大小。 2)getchar()用於從標準輸入流stdin讀入一個字元,並返回這個字元。如果讀到檔案結尾,則返回EOF。注意到EOF不能用char型別表示,所以getchar()函式返回的是一個int型的數。使用時也應該注意這一點。 這個函式中的作用: 這個程式在輸入name[i]前,用getchar()把之前scanf("%d",&num[i]);中,輸入整數後按的回車鍵給讀走,否則這個回車鍵會導致gets直接讀到一個空字串。