3 回答

TA貢獻(xiàn)2003條經(jīng)驗(yàn) 獲得超2個(gè)贊
b[10],這個(gè)10是數(shù)組的大小,可以用sizeof來查看b的大小
strlen,用于確定字符串的長度,和數(shù)組大小無關(guān),哪怕常常使用數(shù)組來存儲字符串。它會從字符串首字符開始向后搜索,直到遇到
終止符
0。所以雖然輸入了20個(gè)字母造成了溢出,卻不妨礙strlen得到正確的長度
如果學(xué)會基本的調(diào)試操作,就可以直接在內(nèi)存中查看字符串的值,沒必要輸出來看了

TA貢獻(xiàn)1797條經(jīng)驗(yàn) 獲得超4個(gè)贊
字符數(shù)組就是字符串,在存儲方式上沒啥區(qū)別。
但如果用strlen來獲得字符串長度的話,是找到第一個(gè)0值就認(rèn)為字符串結(jié)束了。
char
p[]={‘0’,‘1’,‘2’,‘3’,‘4’};這樣的用strlen返回值是0。
其實(shí)要想知道一個(gè)存儲單元的大小,應(yīng)該用sizeof。比如剛才題的答案是sizeof(p)=4

TA貢獻(xiàn)1820條經(jīng)驗(yàn) 獲得超9個(gè)贊
經(jīng)過調(diào)試發(fā)現(xiàn)
%*d 后面跟兩個(gè)參數(shù)
如
printf("%*d",a,b);
a表示打印的寬度,接著就是輸出b的值
- 3 回答
- 0 關(guān)注
- 399 瀏覽
添加回答
舉報(bào)