以下程序段的输出结果是 #include <stdio.h> int fun(int x,int y){return (x+y);} main() {int a=1,b=2

以下程序段的输出结果是
#include <stdio.h>
int fun(int x,int y)
{return (x+y);}
main()
{int a=1,b=2,c=3,sum;
sum=fun((a++,b++,a+b),c++);
printf("%d\n",sum);}

第1个回答  2016-12-27
以下程序段的输出结果是
:8追问

有没有过程呢 ??

本回答被提问者采纳
第2个回答  2020-09-26
a++,b++相当于先取出a,b的值再自加,而当计算a+b时自加已完成,故a+b的值为5再加上3(即c的值),即sum==8
第3个回答  2016-12-27
sum的值等于8追问

有没有过程呢 ??

第4个回答  2018-03-24
sum=8
(a++,b++,a+b)->(a=a,a=a+1,b=b,b=b+1,a+b;)->其本质就是求a+b的值
a++,d++,a+b之间是逗号运算符,所以他们同级,从左往右依次计算,最后的()内的值为5
在进行函数调用fun(5,c++)
又因为c++的含义是先进行fun(5,3)的运算在进行c=c+1的运算
所欲sum=fun(5,3)=5+3=8
相似回答