C语言数组的一道题

下列数组说明中,正确的是()。
A:static char str[]="China";
B:static char str[]; str="China";
C:static char str1[5],str2[]={"China"}; str1=str2;
D:static char str1[],str2[];str2={"China"}; strcpy(str1,str2);
答案是A,请问B,C,D哪里错了

定义数组必须指定维度大小,除非初始化时直接赋值,或是定义函数形参。

A,就是定义时直接赋值初值。
B 定义时没有指定维度大小 错
C str1 str2虽然表示指向数组首地址,但是是指针常量,不能改变其值,所以str1=str2是错的。
D 定义时没有指定维度大小 错
温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网