对于以下变量定义,以下表达式正确的是:( )
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->next和p.next的区别(引自百度知道)
这个题里,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。