📌  相关文章
📜  教资会网络 | UGC NET CS 2015 年六月 – II |问题 11

📅  最后修改于: 2022-05-13 01:57:56.545000             🧑  作者: Mango

教资会网络 | 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)是正确的。这个问题的测验