📜  门| GATE CS 2018 |问题 33

📅  最后修改于: 2021-09-27 05:42:04             🧑  作者: Mango

考虑以下 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)是正确的。这个问题的测验