请解释一下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”;
人气:243 ℃ 时间: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()
- 小孤山大孤山 通假字,古今异义,词类活用,特殊句式.
- 有三个大小一样的等边三角形,分别用不同的方法将每个等边三角形的面积三等分.
- 有90人比赛,平均得分73分,其中男生平均70分,女生平均80分,女生比男生多几人?
- 要使含Ba2+,Al3+,Cu2+,Mg2+,Ag+的溶液中各种阳离子逐一沉淀下来,供选择的试剂有Na2SO4,HCl,NaOH,H2S和CO2
- 关于防火,防地震的知识(速求)
- 用一个关联词,把两句连成一句话.爱迪生没有受过正规教育.爱迪生凭着刻苦钻研的精神成了发明大王.
猜你喜欢