c語言裡面gets a 是什麼意思

2022-02-20 05:01:10 字數 2216 閱讀 5447

1樓:守慈

gets是get string的縮寫,簡言之就是從輸入流中讀取一串字串,並放入其引數指向的地址中。

2樓:

c語言裡gets(a) 表示輸入一個字串到陣列a,a表示讀取一個字串存入a中,字串輸入結束標誌為換行符。

比如 輸入321 cs dd回車

a中儲存為 321 cs dd

3樓:

如果你定義一個字元陣列char a[10];這樣定義gets(a);就表示從鍵盤接收一個字串,並放到陣列a中,

如果是char *a;這樣定義a;

a=(char*)malloc(n*sizeof(char));就表示從鍵盤接受一個字串,並且以a為首地址開始存放字元,

給你個例子,

#include"stdio.h"

#include

#define n 10//表示開闢空間的大小,void main()

4樓:初戀說抱歉

若想從鍵盤上輸入字串"hi hello",則應該使用__gets__函式。gets可以接收空格;而scanf遇到空格、回車和tab鍵都會認為輸入結束,所有它不能接收空格

5樓:魔尊

和scanf差不多相同,只是scanf是單個輸入,而這個是字串輸入

6樓:匿名使用者

從陣列a中得到字串

c語言gets是什麼意思

7樓:聽不清啊

gets從標準輸入裝置讀字串函式,其可以無限讀取,不會判斷上限,以回車結束讀取,所以程式設計師應該確保buffer的空間足夠大,以便在執行讀操作時不發生溢位。

從stdio流中讀取字串,直至接受到換行符或eof時停止,並將讀取的結果存放在buffer指標所指向的字元陣列中。換行符不作為讀取串的內容,讀取的換行符被轉換為『\0』空字元,並由此來結束字串。

返回值編輯

讀入成功,返回與引數buffer相同的指標;讀入過程中遇到eof(end-of-file)或發生錯誤,返回null指標。所以在遇到返回值為null的情況,要用ferror或feof函式檢查是發生錯誤還是遇到eof。

注意本函式可以無限讀取,不會判斷上限,所以程式設計師應該確保buffer的空間足夠大,以便在執行讀操作時不發生溢位。如果溢位,多出來的字元將被寫入到堆疊中,這就覆蓋了堆疊原先的內容,破壞一個或多個不相關變數的值。這個事實導致gets函式只適用於玩具程式,為了避免這種情況,我們可以用fgets(stdin) (fgets實際上可以讀取標準輸入(即大多數情況下的鍵盤輸入),具體參閱fgets詞條)來替換gets()。

在v7的手冊(2023年)中說明:為了向後相容,gets刪除換行符,gets並不將換行符存入緩衝區。

由於可以無限讀取,所以在2023年12月,ansi 採納了 iso/iec 9899:2011 標準,標準中刪除了 gets()函式,使用一個新的更安全的函式gets_s()替代(具體用法看下面示例)。

#include //這個標頭檔案包含gets()函式,這個函式在iso/iec 9899 2011(c11)標準中被移除

int main(void)

#include //gets_s()用法

#define ch 20

int main(void)

c語言中 while(gets(array))什麼意思

8樓:匿名使用者

您好,很高興為抄您解答襲

gets函式的原型是char * gets(char *s);當讀取成功的bai

時候du返回s,所以這zhi個程式裡p的值是和a的值相同的。dao當gets讀取發生錯誤時返回null

while(gets(array))就是隻要array能讀取成功就一直迴圈

滿意請採納,謝謝!

9樓:匿名使用者

while():

括號中只要有東西,就會一直執行;

gets(array):

這裡應該是得到array的值,這個應該是個字串,有很多字元的,他會一個一個是過去,知道沒有;

然後,跳出while();

10樓:匿名使用者

其原型為char*gets(char*buffer);

即返回值為字元指標 如果指標指向空 則不繼續迴圈 反之繼續迴圈

c語言裡面si是什麼意思C語言中si什麼意思

s i 的意思是 s s i 將s的值加上i的值賦給s,i的值再自增1 s s i 就是s s i 是一個複合運算子,再比如x y 1 相當於x x y 1 s s i 就是s s i s等於s加i 即是s s i 擴充套件資料一 c語言複合賦值運算子 加賦值 減賦值 乘賦值 除賦值 求餘賦值 按位...

c語言裡面結合性是什麼意思,C語言中左右結合性什麼意思?

仔細看了一下你的題目,並且在編譯器中執行了一下 執行的結果如下 接下來我們解析 內下為什麼是這個結果 1 容 優先順序為2,結合規則 自右至左。2 和 優先順序分別在12和11,結合規則為 自左至右。3 是算術運算子,而 是邏輯運算子。4 實際上 x y z 是一個邏輯表示式,整個運算過程遵從的是 ...

C語言中語句是什麼意思,c語言中!是什麼意思?

我猜你說的是三目運算 例如c a b?a b 這個就是等同於 if a b else 對於條抄 件表示式b x y,先計算 襲條件b,然後進行判bai斷。如果b的值為true,計算dux的值,運算zhi結果為x的值 否dao則,計算y的值,運算結果為y的值。一個條件表示式絕不會既計算x,又計算y。條...