回 帖 发 新 帖 刷新版面

主题:turboc中++运算符

turboc 2.0中的程序
main()
{
int x=1;
printf("%d,%d,%d\n",++x,x++,x);
}
自己算运行结果为2,2,3
而上机输出结果却为3,1,1
什么原因?

回复列表 (共2个回复)

沙发

答案要不是3,1,1才奇怪了
看看别人的帖子。[url]http://bbs.pfan.cn/post-363421.html[/url]

板凳

不要去管是2,2,3还是3,1,1。
这不是一个标准的C语句。 我这里的运行结果还是 3,1,3

至于原因,还是那句话,无法确定什么时候执行++x和x++的副作用,虽然C的函数默认调用约定是从右到左入桟。 

我来回复

您尚未登录,请登录后再回复。点此登录或注册