教资会网络 | UGC NET CS 2015 年六月 – II |问题 11
以下程序的输出是什么?
(假设包含了适当的预处理器指令并且没有语法错误)
main ( )
{ char S[ ] = "ABCDEFGH";
printf ("%C", *(&S[3]));
printf ("%s", S + 4);
printf ("%u", S);
/* Base address of S is 1000 */
}
(一) ABCDEFGH1000
(B) CDEFGH1000
(C) DDEFGHH1000
(D) DEFGH1000答案: (D)
解释:
main ( )
{ char S[ ] = "ABCDEFGH";
printf ("%C", *(&S[3]));
printf ("%s", S + 4);
printf ("%u", S);
/* Base address of S is 1000 */
}
从上面的程序:
printf ("%C", *(&S[3]));将在 *(&S[3]) 处打印字符,即 D。
printf (“%s”, S + 4);将从 S + 4 即 EFGH 开始打印字符串。
printf (“%u”, S);将打印 S 即 1000 的地址。
由于没有换行指令,所以将输出 DEFGH1000。
所以,选项(D)是正确的。这个问题的测验