一个C语言编程问题,请高手帮忙!

来源:百度知道 编辑:UC知道 时间:2024/05/17 07:27:02
int x=10;
int y=x++;
printf(〃%d,%d〃,(x++,y),y++);
为什么这个输出的是11,10?而不是10,10?

看编译器啦,我用VC6.0输出10,10

讨论这些没什么意义,如下面的语句
int x=1;
printf("\n%d %d %d\n",++x,++x,++x);
输出
4 3 2
而下面的语句
int x=1;
printf("\n%d %d %d\n",x++,x++,x++);
居然输出
1 1 1

++运算符
在变量前,所附值也+1
在变量后,附值在引用变量一次后再加1

y = x++ 运算后 y = 10 ,x = 11
也就是说 ++ 运算返回的变量值不变,但变量本身的值增加了。
如: x = 10;
(x++) 的值为 10 ,但这时 x 的值是11 。

是从哪个论坛里找到的这个问题的呀
去年我看了别人的回答至今未懂
这种程序除了考试时有用,难到有人真的这么样写代码吗???
哈哈
纯水!!!
http://hi.baidu.com/blackfall

int x=10;
int y=x++; \*y=10,x=11*\
printf(〃%d,%d〃,(x++,y),y++);
\*(x++,y)是逗号表达式其值是y=10;y++先取10,*\
所以输出 10,10 没问题

这个输出的结果是 10 10 啊
我用vc 6.0运行了的