博文
2010程序设计期末试题(2012-01-30 23:23:00)
摘要: 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......