📜  C |字串|问题5

📅  最后修改于: 2021-05-29 12:36:21             🧑  作者: Mango

以下C程序片段的内容是什么?

char c[] = "GATE2011"; 
char *p =c; 
printf("%s", p + p[3] - p[1]) ;

(A)
(B) E2011
(C) 2011
(D) 011答案: (C)
说明:请参阅注释以获取说明。

char c[] = "GATE2011"; 
 
 // p now has the base address string "GATE2011" 
char *p = c;  
 
// p[3] is 'E' and p[1] is 'A'. 
// p[3] - p[1] = ASCII value of 'E' - ASCII value of 'A' = 4 
// So the expression  p + p[3] - p[1] becomes p + 4 which is 
// base address of string "2011" 
printf("%s", p + p[3] - p[1]);  // prints 2011
想要从精选的最佳视频中学习和练习问题,请查看《基础知识到高级C的C基础课程》。