编程论坛
注册
登录
编程论坛
→
C语言论坛
c语言这个程序c为什么等于2,return a不起作用吧?
Gloria_zhang
发布于 2020-11-13 16:05, 813 次点击
c语言这个程序c为什么等于2,return a不起作用吧?
只有本站会员才能查看附件,请
登录
1 回复
#2
风过无痕1989
2020-11-13 16:57
回复 楼主 Gloria_zhang
正因为 return a 起作用了,输出才会是 2 3 2 。调用函数时,a = 1,通过 *p + 1,a = 2 了;a 与 *p 的关系只是:a 是函数的实参,*p 是函数的形参,所以,第13行,是*p 的值自加了 1,与 a 无关,return 返回的是 a 的值,它等于 2,于是,返回值赋给 c, c 就等于 2 了;b 由于没有参与运算,它就是其本身 3。最后的结果是输出 2 3 2
1