单选题 以下程序运行后,输出结果是 #include void maino I char s[]="abcde ";
s+=2;
printf("%ld\n",s) B)字符c的ASC码值 C)字符c的地址 D)出错 编译的时候 提示 s+=2; 必须是左值 这个难道不是左值吗?
数组名不能作为左值,也就是不能被赋值。语法规则
为什么不能把s看成是一个指向a的指针?
数组在定义时就已经确定好大小了,不能更改。只能改变的是数组内的元素,通过下标来访问。
const char *s
s[]
数组是一个容器,不能直接给数组赋值呀。应该通过下表来访问数组里的具体的值进行赋值。
s[0]+=2;