关于c语言中的问题 z=(x%y,x/y))

设有如下定义: int x=10,y=3,z;
则语句printf("%d\n",z=(x%y,x/y)); 的输出结果是( )。
A. 1 B. 0 C. 4 D. 3
我想问的是z=(x%y,x/y))是什么意思啊?
这样值得值是什么取逗号前面的,还是后面的.或者都不是?那又是什么?
(刚自学C语言,望各位大虾帮帮哦~~~)

x%y表示x除以y的余数。这里10%3得1。
x/y表示x整除以y的商。这里10/3得3。
最后(,)为逗号表达式,逗号表达式的值是表达式右边的值。这里得3。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-03-25

可以看出,在执行过程中x,y的值是会变化的

第2个回答  2017-04-20
这种写法本身无实际意义,仅是为了理解运算符使用的。
该表达式等效于 z=x/y;
具体如下:
一、z=(x%y,x/y)这个表达式可以分为如下几部分,从小到大依次为:
x%y 模除取余;
x/y 除法计算;
x%y,x/y 逗号运算符,值为最后一个,即x/y;
z=(x%y,x/y) 赋值运算,将右侧结果赋值给z。
二、根据运算符优先级,会依次计算
1、 x%y 但不会存储,所以这步没意义;
2、 x/y 做除法运算;
3、 逗号运算,取值x/y;
4、 赋值,即将x/y赋值给z。本回答被网友采纳
第3个回答  2008-01-12
D
取 后面的值