void main()
{
int i=8;
printf(“%d\n%d\n%d\n%d\n”,++i,–i,i++,i–);
}
如按照从右至左的顺序求值。例5.2的运行结果应为:
8
7
7
8
如对printf语句中的++i,–i,i++,i–从左至右求值,结果应为:
9
8
8
9
这个我不明白,哪个高手给说下,我有的Microsoft Visual C++ 9.00的编译器结果为:8 8 8 8
>> 本文固定链接: http://www.vcgood.com/archives/2034
这和编译器有关系,有个压栈和队列的区别,这要看是什么编译器了,不过那不重要。重要的是编出好的程序。到实际中哪个能出来用哪个不就得了。
printf()是按照从右到左的顺序求值输出的,
因此,
8
7
7
8
是正确的。