对于以下变量定义,以下表达式正确的是:( )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。