请解释一下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”;
人气:444 ℃ 时间: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型数组的首地址,这是把字符常量的地址赋值给字符变量,所以错误!~
推荐
- 若有说明语句:char c = '\72';则变量c( ).
- C语言:设有说明语句:char a='\72';则变量a()
- 佛说:”人生有七苦,生,老,病,死,怨憎会,爱别离,求不得!”出自何处?
- 1.若X=a/(b+c)=b/(a+C)=C/(a+b),求X的值.2.已知a/b=(a-c)/(c-b),求证1/a+1/b=2/c,
- 最难忘的事,要英语作文,120字左右!内容不限!急马上要用!
猜你喜欢