两个吃奶一个添下面视频_人妻第一页香蕉网_欧美xxxx少妇_妺妺窝人体色www婷婷

本節(jié)來講解關于gets函數(shù)的用法,在C語言中,除了用scanf,以%s接收字符串之外,還可以使用gets函數(shù)更方便的接收字符串。


其函數(shù)原型如下:

char *gets(char *str);

在包含 include <stdio.h>頭文件的情況下,可以用gets直接往字符數(shù)組里接收字符串,我們通過觀察函數(shù)原型,可以看到在gets中傳入一個字符指針,也就是存放這個字符串的字符數(shù)組地址即可接收,需要主要的是,要保證能存的下。

其運行過程為:當執(zhí)行gets函數(shù)時,程序會等待用戶從鍵盤輸入的字符串,一旦遇到結束標志,即回車,那么之前輸入在緩沖區(qū)中的字符串則會一起輸入到gets中str所指向的內存區(qū)域里。此過程與scanf函數(shù)類似,最主要的不同在于,scanf接收時的結束標志有空格和回車,而gets不包括空格。也就意味著gets可以接收空格本身作為內容的一部分。這在實際解題、開發(fā)過程中時很有用的。


下面看一個例子:

# include <stdio.h>
int main(void)
{
    char str[100] = "\0";  
    printf("請輸入字符串:\n");
    gets(str);
    printf("剛才輸入的字符串是:\n");
    printf("%s\n", str);
    return 0;
}

當我們運行程序后,直接在程序中輸入字符串,如www.sztianhecheng.cn  則程序輸出:

剛才輸入的字符串是:
www.sztianhecheng.cn

大家可以自行嘗試,需要注意的是gets不會檢查輸入的字符串長度,即可能超出字符串數(shù)組的長度造成內存溢出,這其實也是gets函數(shù)不安全的原因,其已經在不少OJ中不允許使用。詳情可以閱讀文章 為什么gets函數(shù)不能用了?

點贊(3)

C語言網提供由在職研發(fā)工程師或ACM藍橋杯競賽優(yōu)秀選手錄制的視頻教程,并配有習題和答疑,點擊了解:

一點編程也不會寫的:零基礎C語言學練課程

解決困擾你多年的C語言疑難雜癥特性的C語言進階課程

從零到寫出一個爬蟲的Python編程課程

只會語法寫不出代碼?手把手帶你寫100個編程真題的編程百練課程

信息學奧賽或C++選手的 必學C++課程

藍橋杯ACM、信息學奧賽的必學課程:算法競賽課入門課程

手把手講解近五年真題的藍橋杯輔導課程

Dotcpp在線編譯      (登錄可減少運行等待時間)