C语言题,求正确答案的原因。
下列语句中,正确的是(A)A.staticcharstr[]="China";B.staticcharstr[];str="China"C.staticcharstr1[...
下列语句中,正确的是( A )
A.static char str[ ]= "China";
B.static char str[ ]; str="China"
C.static char str1[5],str2[ ]={"China"};
str1=str2;
D.static char str1[ ],str[ ];str2={"China"}; strcpy(str1,str2); 展开
A.static char str[ ]= "China";
B.static char str[ ]; str="China"
C.static char str1[5],str2[ ]={"China"};
str1=str2;
D.static char str1[ ],str[ ];str2={"China"}; strcpy(str1,str2); 展开
3个回答
展开全部
用排除法
第二个str是个地址常量 不是一个变量 不能这样赋值。
第3个 也是一样str1是地址常量或者说不是一个左值
第4个str大小不明 复制6个字节 会出问题。
第二个str是个地址常量 不是一个变量 不能这样赋值。
第3个 也是一样str1是地址常量或者说不是一个左值
第4个str大小不明 复制6个字节 会出问题。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
C语言中数组名是指针常量,所以直接给数组名赋值的都不对。而且数组要么有初值,要么指定长度,就可以排除了。至于正确的原因,我只能说,语法允许这么做
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询