#include <stdio.h> char *c[] = { "GeksQuiz" , "MCQ" , "TEST" , "QUIZ" }; char **cp[] = {c+3, c+2, c+1, c}; char ***cpp = cp; int main() { printf ( "%s " , **++cpp); printf ( "%s " , *--*++cpp+3); printf ( "%s " , *cpp[-2]+3); printf ( "%s " , cpp[-1][-1]+1); return 0; } |
(A) 测试sQuiz Z CQ (B) MCQ测验Z CQ (C) 测试测验Z CQ (D) 垃圾价值 sQuiz Z CQ 答复: (A) 说明: 让我们先考虑*++CPP。 前缀递增和取消引用的优先级相同 它们的结合性都是从右向左的。因此表达式的计算结果为**(++cpp)。所以cpp指向c+2。所以我们得到“TEST”作为输出。请注意两次de reference运算符。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END