本文目錄一覽:
c語言gets()的用法是什麼?
在前面從鍵盤輸入字符串是使用 scanf 和 %s。其實還有更簡單的方法,即使用 gets() 函數。該函數的原型為:
# include stdio.h
char *gets(char *str);
這個函數很簡單,只有一個參數。參數類型為 char* 型,即 str 可以是一個字符指針變量名,也可以是一個字符數組名。gets() 函數的功能是從輸入緩衝區中讀取一個字符串存儲到字符指針變量 str 所指向的內存空間。
下面將前面中使用 scanf 輸入字符串的程序改一下:
# include stdio.h
int main(void)
{
char str[20] = “\0”; //字符數組初始化\0
printf(“請輸入字符串:”);
gets(str);
printf(“%s\n”, str);
return 0;
}
輸出結果是:
請輸入字符串:i love you
i love you
擴展資料:
從stdin流中讀取字符串,直至接受到換行符或EOF時停止,並將讀取的結果存放在buffer指針所指向的字符數組中。換行符不作為讀取串的內容,讀取的換行符被轉換為『\0』空字符,並由此來結束字符串。
讀入成功,返回與參數buffer相同的指針;
讀入過程中遇到EOF(End-of-File)或發生錯誤,返回NULL指針。所以在遇到返回值為NULL的情況,要用ferror或feof函數檢查是發生錯誤還是遇到EOF。
參考資料來源:百度百科-gets
c語言中gets的用法
gets()用於從標準輸入流stdin讀入一個整行(以 或EOF)結束,寫入ptr指向的字符數組,並返回這個指針;出錯或遇到文件結束時則返回NULL。行末的 從流中取出,但不寫入數組。gets()不檢查被寫入的數組大小。
擴展資料
gets從標準輸入設備讀字符串函數,其可以無限讀取,不會判斷上限,以回車結束讀取,所以程序員應該確保buffer的空間足夠大,以便在執行讀操作時不發生溢出。
C語言是一門面向過程、抽象化的通用程序設計語言,廣泛應用於底層開發。C語言能以簡易的方式編譯、處理低級存儲器。
C語言是僅產生少量的機器語言以及不需要任何運行環境支持便能運行的高效率程序設計語言。
儘管C語言提供了許多低級處理的功能,但仍然保持着跨平台的’特性,以一個標準規格寫出的C語言程序可在包括一些類似嵌入式處理器以及超級計算機等作業平台的許多計算機平台上進行編譯。
C語言gets函數的用法,能用代碼舉個例子么
1、gets() 函數是從鍵盤輸入字符串,該函數只有一個參數。參數類型為 char* 型,即 str 可以是一個字符指針變量名,也可以是一個字符數組名。打開編輯器,新建一個c語言文件,引入標準庫並新建主函數:
2、gets() 函數的功能是從輸入緩衝區中讀取一個字符串存儲到字符指針變量 str 所指向的內存空間,這裡的程序是用gets函數輸入字符串,可以看到不像scanf那樣需要使用%號,gets函數中直接傳入字符串即可:
3、最後運行下程序,輸入「i love you」,可以看到gets函數可以直接輸出空格,而scanf函數輸出空格則需要使用轉義字符實現,因此gets函數的使用要比scanf簡潔的多。以上就是gets函數使用方法的演示:
c語言gets的用法
C語言中緩衝區就是內存中開闢的一塊存儲空間。數組也是一個緩衝區。或者你用內存操作函數自己去開闢一塊內存空間也是緩衝區。下面我們來看看c語言gets的用法。
例:
void test7()
{
char str1[80];
char str2[80];
printf(“please input aany 2 sentence:\n”);
gets(str1);
scanf(“%s”,str2);
printf(“string1 is:%s\n”,str1);
printf(“string2 is:%s”,str2);
}
int _tmain(int argc, _TCHAR* argv[])
{
test7();
return 0;
}
輸入:hello world
hello world
執行結果為:string1 is:hello world
string2 is :hello
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/301630.html