为了账号安全,请及时绑定邮箱和手机立即绑定

我知道B是对的,但是CD不太懂哪里错了,想问一下C,D错在哪里,求会的大神帮忙解析一下,谢谢

我知道B是对的,但是CD不太懂哪里错了,想问一下C,D错在哪里,求会的大神帮忙解析一下,谢谢

C
包小龙虾 2018-08-13 15:49:24
 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贡献883条经验 获得超454个赞

C:数组对象是不可修改左值,不能搭配自增自减运算符。


D:这样构造的 str 只能算是“字符数组”,不算是合法的字符串,因为结尾没有 '\0' 字符。

C 语言的字符串是以 '\0' 字符结尾的字符序列,所有处理字符串的函数都以此为前提。如果你传入的是没有 '\0' 结尾的字符数组,函数的行为将不正确。

查看完整回答
反对 回复 2018-08-14
?
流浪_老

TA贡献71条经验 获得超14个赞

c:char 数组不能自增;D 输出的%s是字符串  str是个字符串数组

查看完整回答
反对 回复 2018-08-14
  • 3 回答
  • 0 关注
  • 1239 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信