为了账号安全,请及时绑定邮箱和手机立即绑定

为什么在c语言入门教程里就有效呢

或者说我编了几次交换的,也没用指针就生效了啊?

正在回答

2 回答

你该好好看看形参和实参的区别

0 回复 有任何疑惑可以回复我~

因为你输出的肯定是change的结果,或者是把change的结果传到main函数的a和b之中再输出a和b的,而视频里面的change函数既没有返回值,而老师又没有把change得出的a和b传到main的a和b之中,而输出的又是main中的a和b,自然a和b就不会交换了,这是参数的作用域的问题

0 回复 有任何疑惑可以回复我~
#1

凌乱的玖肆

在入门的教程里面数字交换之所以生效时因为在教程里面输出的时候只有两种情况: 1.直接输出了change函数的结果,并且change函数里面肯定是写了返回值得,而视频里面change函数没有返回值。 2.把change函数的值传给main函数的a,b,再输出a,b,这样也是可以的,而视频里面把a=5,b=3传到change函数中之后,并没有把change函数的结果写入main函数的a和b中,也就是说a和b的值都没有发生改变,所以没有生效。
2015-07-30 回复 有任何疑惑可以回复我~
#2

monster语文

请问把change函数写入main函数中
2015-08-25 回复 有任何疑惑可以回复我~
#3

potacharles 回复 monster语文

那你就等于把局部变量放进main里面执行.效果应该和分开两个函数并且都有返回值时是一样的, 但是遇到大型复合函数并且要修改函数值时这样写法会让你在风中凌乱很久..
2015-08-29 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么在c语言入门教程里就有效呢

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信