📜  C |高级指针|问题7

📅  最后修改于: 2021-06-29 19:46:38             🧑  作者: Mango

假设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基础课程》。