7. After a is initialized, which of the following expressions CANNOT access the face component of a correctly?struct card{ char *face; char *suit; } a, *aPtr = &a;(A) a.face (B) aPtr->face (C) (*aPtr).face (D) &a->face
My answer: C
Correct answer: D
Select all to see the answers and the tips
Tips: just consider *aPtr as a, they are totally equivalent. Similarily, a[i] is the same as *(a+i). so a[i][j] is the same as *(a+i)[j]
See T10
10. For int a[3][4], (*p)[4]=a; Which of the
following CANNOT access a[i][j]
correctly?
(A) *a[i]+j (B) (*(p+i))[j] (C) p[i][j] (D) *(*p+4*i+j)
answer:A
评论