筆試小題

對於如下變量定義,如下表達式正確的是:( )
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。
相關文章
相關標籤/搜索