考虑以下 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’ + 2 将是 ‘c’,所以 Ournode p = {‘1’, ‘0’, ‘c’} 并且输出将是 0, c。
请参阅:在 C 中存储字符串, 字符串。
选项(A)是正确的。这个问题的测验