本文介绍了无法理解涉及指针C程序中的一小部分的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

  INT X = 5;
INT Y = 6;
为int * p =&放大器; X;
* P = X + Y;
P =&安培; Y;
* P = X + Y;
的printf(%D,%D,X,Y);

我能理解第3行。我知道,为int * p =&放大器; X; 表示指针 P 是在内存地址指向 X 。但我无法理解接下来的4行code的。此code的输出是:

  11,17

但我无法理解怎么样?有人可以解释给我。


解决方案

When you are assigning like this,

 int *p=&x;// It will point to the address of x variable.

Any change done in the *p, It will affect the memory. So while you are accessing that with the x it have the value.

 *p=x+y; // It's equivalent x=x+y;

Then y also like this.

Now x have the value 11. p=&y;

  *p=x+y;// It's equivalent to y=x+y;

so now x have the value 11 and y value 5. So the result is 17.

这篇关于无法理解涉及指针C程序中的一小部分的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-27 06:52
查看更多