程式設計小白碰到c語言中gets

2021-10-23 05:16:32 字數 1367 閱讀 9888

當執行下面的程式時,如果輸入

abc,則輸出結果是(

)。#include

#include

int  main()

(a) abc6789  (b) abc67    (c) 12345abc6   (d) abc456789

作為乙個基礎不大好的程式設計小白 咦,gets是什麼鬼?先緩一緩,先看看後面的.

即:strcat(str,ptr)是將字串ptr內容連線到字串str後,然後得到乙個組合後的字串str

理論分析應該就是strcat(ss,"6789")*****>ss + "6789"

查詢了gets的用法:

gets(s)函式與scanf("%s",s)相似,但不完全相同,使用scanf("%s",s) 函式輸入字串時存在乙個問題,就是如果輸入了空格會認為字串結束,空格後的字元將作為下乙個輸入項處理,但gets()函式將接收輸入的整個字串直到遇到換行為止。

到這裡的時候我其實猜測答案應該是c,我想的是前面已經是12345,再輸入abc,後面追加6789,即輸出結果為12345abc6,然後我用編譯器操作了一下,結果不對.

輸出結果是abc6789,咦,鬱悶了!為什麼?憑什麼?不應該啊???

然後找到了科學的解釋:gets輸入了值會覆蓋ss中原有的內容

#include#includeint main()

輸入abc,結果為:

本著槓精的原則,輸入12345,結果為:

等等ss[10]不應該有10個麼,算上字串尾的結束符"\0"在內,好像"abc6789"缺點東西

只輸入a,測試一下:

咦,奇怪,搞長一點試試:

哎喲我的天,什麼情況?不應該這麼長吧,這不止10個吧?

程式設計小白碰到C語言中數學知識1

編寫程式 輸入兩個正整數m,n,求其最大的公約數和最小公倍數 這題看著題目挺短的,但是,問題在於最大公約數和最小公倍數怎麼求來著?公約數,亦稱 公因數 它是乙個能被若干個整數同時均整除的 整數。如果乙個整數同時是幾個整數的 約數,稱這個整數為它們的 公約數 公約數中最大的稱為最大公約數。對任意的若干...

程式設計小白碰到C語言中雞兔同籠問題

站在程式設計小白的角度 解決c語言的時候碰到雞兔同籠的問題.題目是 和總腳數是40 請計算有多少隻雞和多少只兔?作為程式設計小白,看到這個,傻眼了,這咋弄?但是數學本能告訴自己,做題,能做 在數學裡,先假設有x隻雞,y只兔子.已知雞和兔子的總頭數是16.根據常識我們知道雞和兔子都只有乙個頭 所以 x...

C語言中的gets 函式

在c語言中讀取字串有多種方法,比如scanf 配合 s使用,但是這種方法只能獲取乙個單詞,即遇到空格等空字元就會返回。如果要讀取一行字串,比如 i love mit 這種情況,scanf 就無能為力了。這時我們最先想到的是用gets 讀取.c標準庫中的 gets 函式。這個函式的定義如下 char ...