c语言指向指针的指针变量怎么用++

#include "stdio.h"
void main()
{int a[3]={1,2,3},*p=a,**p1=&p,***p2=&p1,i;
for(i=0;i<3;i++)
printf("%d",*p++);
}
指针p1怎么用++移动指向,p2同样说下谢谢

    C语言中有两种非常有用的运算符++和--,分别称为递增和递减运算符,对变量执行加1或减1操作,且运算结果仍赋给该变量。递增、递减运算符和负号一样都是单目运算符,统称单项算术运算符。

    指针变量本身储存的是物理地址。使用*运算符可以取得该物理地址对应的值。连续使用两个*,就可以操作指向指针的指针变量。

    例如:

    printf("%d",(*(*p1))++);
    printf("%d",++(*(*p2)));

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-02-18
(*pa)[3]定义的是数组指针。pa就是指向第一个元素的地址,来放3个地址
pa=a就是表是a(行指针)就是a[0],a[1],a[2]都是地址,pa+1=a[1],pa+2=a[2]
pa[i][j]=a[i][j]
第2个回答  2011-12-08
#include "stdio.h"
void main()
{int a[3]={1,2,3};
int *p=a;//指针p指向a[0]
int **p1=&p;
int ***p2=&p1,i;//
for(i=0;i<3;i++)//从a[0]开始依次输出a[1] a[2]
printf("%d\n",*p++);//*p++的意思是先将指针p指向的数输出再指向数组下一个成员
}
第3个回答  2011-12-09
对不起p1加不了,加了不知道干哪去了。p2也一样,一加加也不知道指向哪去了。之所以p能加加,是因为他指向的是数组a的首地址,而数组又是一片连续存储的,p才可以加加的。
第4个回答  推荐于2016-01-01
printf("%d",*((*p1)++));
printf("%d",*((*(*p2))++));本回答被提问者采纳
相似回答