C语言题的自增++简答题

发布时间:2024-05-11 03:42 发布:上海旅游网

问题描述:

main()
{
int y=3,x=3,z=1;
printf("%d%d\n",(++x,++y),z+2);
}
输出结果为什么是'3,3'呢
逗号表达式要求是以第N个表达式的值为准,那么
(++x,++y)的值为4,但与答案矛盾吧!?

问题解答:

正如你说的,逗号表达式要求是以第N个表达式的值为准。
我运行的结果是:
43
运行环境为windows的dev C++4
不知你是怎么得到33的结果的?

答案因该是43
我用TC运行了。

VC6.0里面。结果是43呀,正确的呀。

答案是++y和z+2的值吧,应该是这样,你不信可以修改一下数值看看检验一下,好象是压栈的原理,先进后出,z+2最后进去,输出反而在前面.

两个结果
(++x,++y)的,
z+2的

热点新闻