當執行下面的程式時,如果輸入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 ...