永发信息网

#include<studio.h>func(int a,int b) {int c;c=a+b;return c;}main(){int x=6,r;r=func(x,x+=2);}

答案:3  悬赏:0  手机版
解决时间 2021-04-04 13:57
  • 提问者网友:川水往事
  • 2021-04-03 14:40
#include<studio.h>func(int a,int b) {int c;c=a+b;return c;}main(){int x=6,r;r=func(x,x+=2);}
最佳答案
  • 五星知识达人网友:上分大魔王
  • 2021-04-03 15:08
函数参数处理顺序从右至左,先算x+=2,此时x=8,因此fun函数的的两个形参都是8,所以相加后返回16,这是编译器决定的,从左至右从右至左都行其实,这种题并不严谨。
全部回答
  • 1楼网友:琴狂剑也妄
  • 2021-04-03 16:53
运行一遍就知道了。。。
  • 2楼网友:怀裏藏嬌
  • 2021-04-03 16:32
这个不难啊,首先函数func返回的是参数a+b的和,那么调用后就是
r=func(6,6+=2);
r=func(6,8);
r=14;
你写得有点乱
可以这样编写
#include
int func(int a,int b)
{
return a+b;
}
main()
{
int x=6,r;
r=runc(x,x+=2);
printf("r的值为:%d",r);
}
比较简单方便阅读追问这是一道题,答案是r=16,我觉得也是14,但运行一遍答案也确实是16没错 疑问在这追答我用C#运行的是14没错啊!我没安装C语言的IDE没法用C语言运行。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯