gets和scanf的區別

2021-10-10 17:11:14 字數 562 閱讀 8371

#gets和scanf都是可以在c語言中用於讀取字串的,但是它們實際上也有很大的不同,本篇文章我們就來看一下gets和scanf之間有什麼區別。

gets和scanf的區別

1、gets可以接收空格;而scanf遇到空格、回車和tab鍵都會認為輸入結束,所有它不能接收空格。

例如:如果輸入為"hello world"時,上面程式的執行結果是"hello world"。而如果用scanf則只能輸出hello

2、scanf 對末尾回車符的處理:把回車符保留在快取中。gets對末尾回車符的處理:接收回車,但把回車替換為\0.**

3、gets的返回值為char*型,當讀入成功時會返回輸入的字串指標位址,出錯時返回null;scanf返回值為int型,返回實際成功賦值的變數個數,當遇到檔案結尾標識時返回eof。

4、gets函式僅用於讀入字串;scanf為格式化輸出函式,可以讀入任意c語言基礎型別的變數值,而不是僅限於字串(char*)型別。

gets和scanf的區別。

寫乙個函式,輸入乙個十六進製制數,輸出相應的是進製數。程式設計如下 include include include void main char t 20 c long htoi char doprintf ninput a hex number gets t printf decimal numb...

scanf和gets的區別

gets函式可以一次接收一行輸入串,其中可以有空格,也就是說空格可以做為字串的一部分輸入.而scanf函式接收的字串不會含有空格,即遇到字空格時,認為字串輸入結束,也就是說空格是scanf預設的結束符號。scanf和gets不能混合使用,如果乙個程式中用scanf的話,一般不能再用gets,反之亦然...

gets和scanf的區別

1 gets 函式原型 char gets char str 功能為 從stdin流中讀取字串,直至接受到換行符或eof時停止,並將讀取的結果存放在buffer指標所指向的字元數 組中。換行符不作為讀取串的內容,讀取的換行符被轉換為 0 空字元,並由此來結束字串。注意 不會判斷上限,以回車結束讀取,...