C语言指针问题求解释

i=50;pi=&i;*pi=5;定义一个指针shortint**ppi;shortint*pi=5;shortinti=50;*ppi=π结果为ppi=9;*pp... i=50;pi = &i;*pi = 5;定义一个指针 short int **ppi;short int *pi=5;short int i=50;*ppi =& pi;结果为 ppi=9; *ppi=5; **ppi=50; i的值是如何赋值给**ppi的 展开
 我来答
My_Persistence
2018-03-29 · TA获得超过3467个赞
知道大有可为答主
回答量:1201
采纳率:81%
帮助的人:434万
展开全部

解释说明如下:

short int *pi=5; //定义了一个int型指针变量pi,存放的地址值是5
//而变量i的地址是5,所以pi指向了变量i,i=50。即pi=&i=5, i=50。

// *ppi = *pi;  //这个应该是写错了吧,应该是下面这条语句!!!
ppi = π  //&pi的值就是指针变量pi的地址值是9,而pi=5。即ppi=&pi=9, pi=5。
//那么,ppi=9了,即ppi指向了指针变量pi。
*ppi的值就是ppi所指向的变量pi的值=5。*ppi=pi=5。
**ppi <==> *(*ppi),即*(pi),而变量pi是指向变量i的,所以*pi=i=50。故**ppi=50。

综上所述,所以 ppi=9, *ppi=5, **ppi=50。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式