怎么知道形参的改变对实参值有没有影响,如下面三道题,看答案不明白,求大神赐教

 我来答
金色潜鸟
2017-03-16 · TA获得超过3.2万个赞
知道大有可为答主
回答量:1.3万
采纳率:89%
帮助的人:5542万
展开全部
它是指在函数体里,若形参指向的地址发生变化,地址发生变化后发生的值的改变,不会通过实际参数带回去。 若形参指向的地址没有发生变化,这时 形参指向的值发生变化,那么变化后的值,能通过 实际参数 带回去。
例如:
void sp(int *a)
{int b=2;
*a=*a *2; // 在此以前,形参地址未变,现在更新它指向的值。(调用时k变6)
printf("%d,",*a); // 输出更新了的值 (k=6),作参考,这个值可以被带回去
a=&b; // 形参地址变为 &b
*a=*a*2; // 形参地址变化后,再更新指向的值,这个值只能在这里使用,不能被实参带回去
printf("%d,",*a); // 输出更新了的值 4,作参考,这个值不能被实参 带回去
}
运行主函数,int k=3; 初值
sp(&k); 调用
printf("%d",k); 调用后输出 6
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式