?135.? 下面語句正確的是( )。?A. int *p; *p=20;??B. char *s="abcdef"; printf("%s\n",s);?C. char str[]="abcd"; str++;?D. char str[]={'a','b','c'};printf("%s",str);
3 回答
已采納

onemoo
TA貢獻(xiàn)883條經(jīng)驗(yàn) 獲得超454個(gè)贊
C:數(shù)組對象是不可修改左值,不能搭配自增自減運(yùn)算符。
D:這樣構(gòu)造的 str 只能算是“字符數(shù)組”,不算是合法的字符串,因?yàn)榻Y(jié)尾沒有 '\0' 字符。
C 語言的字符串是以 '\0' 字符結(jié)尾的字符序列,所有處理字符串的函數(shù)都以此為前提。如果你傳入的是沒有 '\0' 結(jié)尾的字符數(shù)組,函數(shù)的行為將不正確。

流浪_老
TA貢獻(xiàn)71條經(jīng)驗(yàn) 獲得超14個(gè)贊
c:char 數(shù)組不能自增;D 輸出的%s是字符串? str是個(gè)字符串?dāng)?shù)組
- 3 回答
- 0 關(guān)注
- 1321 瀏覽
添加回答
舉報(bào)
0/150
提交
取消