1樓:匿名使用者
這個不會管a的大小,strcat只是一味的在a的後面拼上b的內容。至於會不會越界,這個函式不會管。所以是非安全類函式。不建議使用
2樓:匿名使用者
是的,a是不夠大的,這道題很有可能指向考察你strcat的基本功能而已,沒考慮記憶體問題。
3樓:
a 本身不夠大,但是你的輸出時%s格式的遇到『\0』才結束,而strcat連線後『\0』放到了x的後面,所以會輸出 window 9x
4樓:
strcat(a,b),a的記憶體肯定是不夠的,執行會報錯。
5樓:
樓主你好。
a不夠大,strcat只是將a看作字串指標,因此沒有考慮陣列越界,事實上strcat(a,b);之後已經超過了陣列a的大小,將b中的資料連線到了陣列a最後乙個元素的後面。
這已經造成了陣列越界,是非法的。
測試程式可以看出:
#include
#include
int main()
輸出window 9x
7 9(然後程式提示意外終止)
陣列a的大小不會變還是7,但是a裡面字元長度已經超越了陣列長度。
6樓:匿名使用者
a只有7個char,連線多了就把別的空間佔了,危險行為
設有語句:char a[9]="a",b[9]="ab";則"strcmp(strcat(a,b),b)"的值是? 這題我怎麼算都是算得0,請問有誰
7樓:匿名使用者
首先抄先執行這段**中strcat是把襲b[9]的內容加在a[9]的結尾處,並去掉a[9]原來的結束符,然後再把整個字串賦值給a[9],這樣a[9]的內容就是"aab"。
接下來是strcmp函式,它的功能是比較兩個字串的大小,並返回乙個數值來標記兩個字串的大小。很明顯,a[0]==b[0],a[1]
綜上所述,strcmp的返回值是小於0的,不是等於0。
望採納。
8樓:匿名使用者
strcat(a,b)了以後, a = "aab", b="ab"
strcmp(strcat(a,b),b) 實際上du就是zhistrcmp(a,b);
a和b的第
dao一位相同, a的第二位是'a', b的第二位是'b'. 不相專同
所以屬strcmp返回 'a' - 'b' 就是-1
9樓:匿名使用者
"strcmp(strcat(a,b),b)"
相當於char *p =strcat(a,b); ////a的結果現在應該是aab,將b字串拼在a字串上
strcmp(p,b) 不等
若有宣告:char str[]={"cp\'!a"};執行語句:printf("%s",str);的結果是
10樓:深圳中宇視通科技****
strlen求字串長度的計算方式是遇到字串結束符\0就結束,而 char str[6]=;//這個陣列中,第三個字元就是字串結束符\0遇到\0結束之後,返回的長度就是2了。
11樓:匿名使用者
cp'!a
\是轉義字元。
設語句char c[5]={'a', 'b', '\0', 'c', '\0'};則printf (''%s\n'',c);的輸出結果是
12樓:匿名使用者
輸出結果是ab
給c陣列初始化為,這五個字元儲存在記憶體中,將c按字串輸出時,即printf (''%s\n'',c);,這時,會從c陣列的第乙個元素'a'開始,依次輸出a和b,當遇到'\0'時,字串輸出結束,所以輸出結果為ab
13樓:匿名使用者
ab字串以'\0'結束。
宣告失蹤與宣告死亡的聯絡,宣告失蹤和宣告死亡的區別聯絡
在宣告死亡之前,必須宣告失蹤 宣告死亡,死亡的物件可能是沒有死 只是失蹤了 法院在宣告失蹤後本人沒有到法院撤消.法院對失蹤人員宣告死亡,並對其一切檔案給予登出 在千絲巖思索的超人 宣告失蹤,是指經利害關係人的申請,由法院依照法定條件和程式,宣告下落不明滿一定期限的公民為失蹤人的民事法律制度。我國民法...
可以在窗體模組的通用宣告段中宣告什麼
1 宣告乙個全域性 非陣列 變數。option explicit public a as double 它可在其它窗體以該窗體名。變數名使用。2 宣告區域性變數或陣列變數,見下面 option explicit public a as double 宣告全域性變數dim b 10 as single...
合法的免責宣告格式是什麼,免責宣告該怎麼寫
稀硝酸 免責條款合法必須要符合以下要件 1 必須是雙方當事人真實的意思表示。合同的本質即是一種合意,合同的成立意味著雙方當事人的意思表示達成一致。這個意思表示必須要明確且真實。合同中所約定的全部條款都必須是雙方當事人經過深思熟慮後形成的真實的意思表示,否則無效。2 必須經雙方當事人協商同意。雙方的意...