请解释一下C语句"char a[10],p;p=a=“china”"的含义.

请解释一下C语句"char a[10],p;p=a=“china”"的含义.
下列说明不正确的是:
(A)char a[10]=“china” (B)char a[10],p=a;p=“china” (C)char p;p=“china”(D)char a[10],p;p=a=“china”;
其他人气:853 ℃时间:2020-05-07 14:12:51
优质解答
char a[10], *p;
p = a = "china";
是错的赋值!~
原因:
char *p;
p = "china";
这里的p是在静态区分配的内存,也就是说p是指向字符常量的指针.
而在p = a = "china";中,"="运算符是从右向左结合的,所以是将"china"的首地址赋值给a,而a是char型数组的首地址,这是把字符常量的地址赋值给字符变量,所以错误!~
我来回答
类似推荐
请使用1024x768 IE6.0或更高版本浏览器浏览本站点,以保证最佳阅读效果。本页提供作业小助手,一起搜作业以及作业好帮手最新版!
版权所有 CopyRight © 2012-2024 作业小助手 All Rights Reserved. 手机版