作业帮 > 综合 > 作业

以下语句中存在语法错误的是__A______.

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/08 14:14:04
以下语句中存在语法错误的是__A______.
A)char ss[6][20];ss[1]= "right? ";
B)char ss[][20]={ "right? "};
C)char *ss[6];ss[1]= "right? ";
D)char *ss[]={"right? "};
请解释下A C
计算机问题
A和B的区别在于B是初始化,而A是赋值.初始化(initialization)是任何变量都必须做的,而赋值(assignment)则未必.
ss[1]是一个char[20],他是一个数组,右边的"right?"无论你把他看成char*也好,char数组也好,c/c++语法都是不允许你用等于号把他赋值给一个数组的
C中ss的类型是一个长度为6的数组,数组的元素是char*,所以ss[1]是char*,右边"right?";也是char*,所以赋值是没有问题的.赋值完毕后,ss[1]这块地方存储的是"right?"这个字符串的字一个字符的存储地址.