假设int的大小为4。
#include
void f(char**);
int main()
{
char *argv[] = { "ab", "cd", "ef", "gh", "ij", "kl" };
f(argv);
return 0;
}
void f(char **p)
{
char *t;
t = (p += sizeof(int))[-1];
printf("%s\n", t);
}
(A)绝对
(B)光盘
(C) ef
(D) gh答案: (D)
说明:表达式(p + = sizeof(int))[-1]可以写成(p + = 4)[-1],也可以写成(p = p + 4)[-],它返回地址p +3是argv []中第四个元素的地址。
这个问题的测验
想要从精选的最佳视频中学习和练习问题,请查看《基础知识到高级C的C基础课程》。