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

为什么sum的值为1

为什么sum的值为1

C++ C C#
qq_改恒_0 2017-08-29 10:32:37
#include<stdio.h> int sum=(int x,int y) void main() { int a=3,b=4,s=0,p=6; s=sum(a+b,a=b+p); printf(“sum=%d;a=%d\n”,s,a); return 1; } int sum(int x,int y) { return 1; return x+y; }
查看完整描述

1 回答

?
奔跑的鸭梨

TA贡献2条经验 获得超0个赞

要是想有多个返回值,要用数组或是指针。像这样的就只执行了第一句,调用函数后得到了s=1

查看完整回答
反对 回复 2017-08-29
  • qq_改恒_0
    qq_改恒_0
    是只执行了sum中的return1 使得main()中的sum直接被定义为了1是吗 这种对a的计算没有影响是吗
  • 奔跑的鸭梨
    奔跑的鸭梨
    s=sum(a+b,a=b+p);就相当于 { a=b+p; x=a+b; y=b+p; s=sum(x,y); } 就是括号中的计算会优先,所以最后得到的a值是10,如果你把int sum(int x,int y)中的定义函数中两个返回值语句掉换一下,就会得到s的值会是24——也就是说代入的a+b中a值就已经是10了。 还有,补充一下,void 类型函数不需要返回值,或者可以最后一句直接写 return; 就好了。
  • 1 回答
  • 0 关注
  • 1733 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信