第一张答案选B,
第二张答案选C,又为啥不选B,
大lao解释解释下
第一张答案选B,
第二张答案选C,又为啥不选B,
大lao解释解释下
第一张答案选B,
第二张答案选C,又为啥不选B,
大lao解释解释下
字符串结尾会自动添加结尾字符,但是单个字符操作并不会添加结尾符的,这要清楚!
字串结尾回自动添加结尾符,这是因为有结尾符的字串才能被strcpy,strcat等等库函数准确操控,因为很多库函数是以它作为终止的,假如没有结尾符,某些库函数操作字串将会出问题。
但是不要就此认为字串就必须要有结尾符,没有结尾符的字串也是可以的。
A 错误 "ABCDE"是字符串,加上字符串结束符,要占用6个字符空间
B 正确 这种初始化方法,s只能当字符数组用,不能当作字符串输出,因为没有字符串结束符。但这样当作字符数组赋值是可以的
C 错误,"ABCDE",得用双引号
D 错误 s指针还没分配空间,不能输入
a长度溢出,c变量名s s不能有空格,引号、分号都不对,d,没有分配空间
选择b
字符串以\0结尾,这是一种约定。
好比写完句子要加上句号。遇到句号,表示结束了。
C语言没有办法直接得到数组的长度,或者字符串的长度,只能根据这个标志判断字符串到内存的哪里为止。
参考GPT和自己的思路:
对于这个问题,答案选B的原因可能是因为这是一种常见的字符串表示方法。在C语言中,字符串是以字符数组的形式存储,并以空字符('\0')作为字符串结束的标记,以便于字符串操作函数的正确处理。因此,当我们使用字符串时,通常需要注意字符串是否以空字符结尾。但是,这并不是每种编程语言都采用的字符串表示方法,所以需要具体问题具体分析。
不知道你这个问题是否已经解决, 如果还没有解决的话: