笔试小题
对于以下变量定义,以下表达式正确的是:( ) struct node{ char s[10]; int k;
}p[4];
A.p->k=2
B.p[0].s="abc"
C.p[0]->k=2
D.p->s='a'
解答:
这个题里,p是指针,指向p[0]的首地址,p->k=2即*p.k=2,即p[0].k=2
A是正确的;
B错,只有在声明字符数组的时候才能将一个字符串赋给数组。如:char a[5] = "abc";而char a[5]; a="abc";这种写法是错的。
C错,p[0]不是指针,不能用->。
D错,不能将一个 const char 类型的字符 'a' 赋给 数组 s。