传值、传引用调用函数

代码助手 其他问答 1

为什么会是40啊?有大佬解析一下吗

回复

共2条回复 我来回复
  • 源码码头网
    这个人很懒,什么都没有留下~
    评论

    f函数中的x是值传递,保存在栈中,在f函数中即使改动了x的值,在返回的时候还是原来的值,因为只改变了栈的数值。 而a是引用传递,本质是传递了指针,在f函数中改动a会连带改动main中a的位置的参数,也就是x。 因此结果是6*6-1+5=40。

    0条评论
  • 代码工坊
    这个人很懒,什么都没有留下~
    评论

    f函数的x是值传递,不会改变main中的x的值 f函数的x=6,a=5 因此最终 6*6-1+5=40

    0条评论

发表回复

登录后才能评论