这个程序怎么运行的啊?
微尘 核心会员 2015-09-15 20:35:26
2277 5 0

blob.png

问题来自: 指针和函数

共 5 个回答

    嘿嘿大人 一代宗师 3168天前

    就是一个普通的函数调用啊,只不过函数调用后返回值是一个地址而已,然后把地址赋值给指针p,能理解么?

    微尘 核心会员 3168天前

    回复 嘿嘿大人:麻烦说详细谢谢

    最佳答案

    嘿嘿大人 一代宗师 3168天前

    回复 微尘blob.png这一句定义整型变量a和b并且赋值,还定义了一个整型指针p;

    blob.png调用函数max,然后将返回值赋值给指针p;

    然后进入max函数

    执行blob.png比较x与y的值的大小,也就是a和b的大小,然后返回较大值的地址;

    这时已经返回到了主函数调用处接着往下执行

    blob.png将返回值所指向的空间里面的元素赋值为0;

    blob.png输出a和b的值也就是3和5(因为是按值传递所以不会改变到实参的大小,所以ab没有任何变化)

    总的来说上面的程序可以简化为:

    blob.png

    blob.png

    blob.png

    按地址传递就是定义函数形参为指针或者数组,其他的都是按值传递

    微尘 核心会员 3168天前

    恩恩明白了谢谢哈,还有另外一题也麻烦你说一下。

    嘿嘿大人 一代宗师 3168天前

    回复 微尘:搞好了

您还没有登录,所以不能回复该问题
我要回复

  • 0

    点赞

  • 扫一扫分享朋友圈

    二维码

  • 分享

相关问题