题目内容
(请给出正确答案)
[单选题]
执行逗号表达式a=3,b=5,a-=a+b,b=a-b之后,a和b的值分别为 ()。
A.3和5
B.−5和−2
C.8和3
D.−5和−10
如搜索结果不匹配,请 联系老师 获取答案
A.3和5
B.−5和−2
C.8和3
D.−5和−10
第8题
(x=4?5,x?5),x+25
(A)25
(B)20
(C)100
(D)45
第9题
有以下程序:
fun(int x,int y){return(x+y);}
main
{ int a=1,b=2,c=2,sum;
sum=fun((a++,b++,a+b),c++);
printf("%d\n",sum);
}
执行后的结果是( )。
A.6
B.7
C.8
D.9
【我提交的答案】: B |
【参考答案与解析】: 正确答案:C |
表达式a++,b++,a+b是一个逗号表达式,在逗号表达式中,从左向右进行各个表达式的运算,最后一个表达式的值就是逗号表达式的结果,所以表达式a++,b++,a+b的值为5,所以fun函数中的形参x 的值为5;表达式c++先把变量C的值传给形参y,然后c 的值加1,所以y的值为3,因此函数fun((a++,b++,a+b),c++)的返回值为8。
先把c的值传给y,那y的值为2啊,为什么是3呢
为了保护您的账号安全,请在“上学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!