#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)
说明: argv是char类型的指针数组。因此,它包含了诸如AB,CD等。f(ARGV)在此调用字符指针我们给出的第一个字符指针AB的地址。在函数f中,t =(argv [0] + = 4(其int的大小)[-1]。在此评估之后,t指向ij,但在[-1]之后t指向gh。
这个问题的测验