C语言的一个问题。为什么输出的是100,(x,y)是什么意思

#include <stdio.h>
void main( )
{ int x=100,y=200,t;
if(x<y)
{ t=x;
x=y;
y=t;
}
printf("%d\n", (x,y));
}

第1个回答  2011-06-30
输出语句中(x ,y)是逗号表达式,只输出y 值,而y 的值在前面已经和x 值进行了调换,当然输出100了追问

这个程序为就是(x,y)是什么意思不懂,其他我都知道的。按你的意思,(x,y)就是取y的值是吧,这样我就知道了。

本回答被提问者采纳
第2个回答  2011-06-30
输出y的值,printf函数从右到左读数值,(x,y)没有别的含义,相当于x,y。只不过在printf的时候从从先读入y,再读入x,从而输出y=100。
纯属个人见解,没有经过验证的。
第3个回答  2011-06-30
(x,y) 逗号表达式,其求解过程先表达式1,后表达式2,整个表达式值是表达式2的值
相似回答