C |高级指针|问题7

假设int的大小是4。

null

#include <stdio.h>
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" , t);
}


(A) ab (B) 光盘 (C) ef (D) 生长激素 答复: (D) 说明: 表达式(p+=sizeof(int))[-1]可以写成(p+=4)[-1],它可以写成(p=p+4)[-],返回地址p+3,即argv[]中第四个元素的地址。 这个问题的小测验

© 版权声明
THE END
喜欢就支持一下吧
点赞14 分享