考虑下面的C程序。
#include
struct Ournode {
char x, y, z;
};
int main() {
struct Ournode p = {'1', '0', 'a' + 2};
struct Ournode *q = &p;
printf("%c, %c", *((char *)q + 1), *((char *)q + 2));
return 0;
}
该程序的输出为:
(A) 0,c
(B) 0,a + 2
(C) ‘0’,’a + 2′
(D) ‘0’,’c’答案: (A)
说明: ‘a’+ 2将是’c’,因此Ournode p = {‘1’,’0’,’c’},输出将是0,c。
请参阅:在C中存储字符串, 字符串。
选项(A)是正确的。这个问题的测验