C语言中定义数组str[ ]="desktop",那这个数组长度是多少?

字符串结束标识符“\0”算不算一个长度?谢谢

c语言中,str[]="desktop",将会给字符串分配8个空间(包含最后那个'\0')。
需要知道的是,char s声明一个字符;char st[10]声明一个最多存放十个字符的字符数组,他可以存放1至10个字符,也可以存放1至9个字符并在后面加一个零,当后面加一个零时,就可以称之为字符串数组,或者简称字符串。而字符串的长度是不包含后面那个零的。
题目中这种定义方式,系统会自动在后面加上一个零,所以它定义的是字符串数组,可以把它简称为字符串,但是若把它叫做数组,会引起些误会。
所以你这个题目中,这个数组的长度是多少?是能引起歧义的。应该问,这个字符串的长度是多少?那么肯定就是7了。
有什么问题请留言。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-12-17
这个数组长度是8。因为p后要自动加一个'\0'作为字符串结束符。
第2个回答  2019-12-17
0算作数组的长度,因此是8
第3个回答  2019-12-17
这个程序我也看不懂了。打开百度搜一搜吧。
相似回答