永发信息网

同样是地址,为什么x的值没变呢?

答案:5  悬赏:70  手机版
解决时间 2021-01-27 18:49
  • 提问者网友:临风不自傲
  • 2021-01-26 22:41
同样是地址,为什么x的值没变呢?
最佳答案
  • 五星知识达人网友:深街酒徒
  • 2021-01-26 22:55
fun()函数里头,a = a+1 改变的是地址的值,而不是地址中存储的数据的值。
于是,当你把存储有x的地址的变量p传入fun函数的时候,p = p+1 并没有改变x的值,而是改变了p的值。此时的p已经不是指向a的了。如果你输出*p的值,应该是个随机值。
全部回答
  • 1楼网友:十年萤火照君眠
  • 2021-01-27 02:42
naobing
  • 2楼网友:一叶十三刺
  • 2021-01-27 01:45
a=a+1;//凡是直接引用形参不加什么修饰(比如a 就是直接,*a就是加了修饰),那对他做的修改只在函数内部生效,出了函数就无效了
  • 3楼网友:琴狂剑也妄
  • 2021-01-27 00:37
你的求解跟你的设置都不是同一个问题
  • 4楼网友:痴妹与他
  • 2021-01-26 23:48
void fun(int *a,int *b)
{
a=a+1;//a是地址 地址+1 只是a变 p不变 所以内容不变 x不变 没什么
*b=*b+1;
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯