首页 > 教育

main(){charc[]="abcd";

更新时间2022-03-26 09:32:38

char *p[ ] = { &c[0],&c[1],&c[2],&c[3],&c[4]}; char **pp=p; printf("%c ",*(*(pp+2)+1));
最后输出的为什么是d,谢谢

*(*(pp+2)+1)的值为d。
解析
char **pp=p;说明pp是二级指针,它指向指针数组首地址p[0],pp+2后为p[2],*(pp+2)为p[2]的内容,即&c[2];*(pp+2)+1,地址再加1,即&c[3];*(*(pp+2)+1),取内容为c[3]的值d。你可运行下面的程序来验证:

#include"stdio.h"
int main()
{
 char c[]= "abcd";
 char *p[]={&c[0],&c[1],&c[2],&c[3]};
 char **pp=p;
 printf("%c ",*(*(pp+2)+1));
 return 0;
}

程序的运行结果:

main() { char c[ ]= "abcd";


上一篇:2020的平方2020-2021的平方简便计算

下一篇:小学数学怎么做