[求助]关于printf的问题
											一个程序:如#include<stdio.h>
main()
{
int n;
n=1;
printf("%d%d%d",n,n++,++n);
}
输出结果为322
执行顺序是从右至左
请求解释?请求从printf函数的运行原理的角度给出解释.
谢谢
 2007-10-23 10:34
	    2007-10-23 10:34
   2007-10-23 11:15
	    2007-10-23 11:15
   2007-10-23 11:20
	    2007-10-23 11:20
   2007-10-23 11:29
	    2007-10-23 11:29
   2007-10-23 11:32
	    2007-10-23 11:32
   2007-10-23 18:13
	    2007-10-23 18:13
  老兄,你的编译器到了保修期了没?! 
										

 2007-10-23 18:16
	    2007-10-23 18:16
   2007-10-23 22:40
	    2007-10-23 22:40
   2007-10-23 23:19
	    2007-10-23 23:19
  对于c 的调用约定,就是从右往左将参数压入堆栈,
只不过不同的编译器 对n++这个参数进行自增运算的位置不同,
 
例如: 说打印 222 的是因为编译器是将所有的参数压入堆栈后才 执行了 后++运算.
       而打印 322 的是因为编译器 自右往左 将第2个参数压入堆栈后,在将第3个参数压入前执行了后++运算,这影响了 第3个参数...使它变成了3. 
 2007-10-24 00:18
	    2007-10-24 00:18