以下是引用zrgong在2007-7-25 20:15:40的发言:
对于printf函数中是严格按照从左到右,一个括号一个括号计算的
对于printf函数中是严格按照从左到右,一个括号一个括号计算的
果然是这样。
只是不知道为什么……
对于以上各楼所说的,由于编译器不同结果也不对.我以下所说的主要是VC6.0版说的,因为我用这个比较多.TC以前记得,好久没用,忘记了.今天先大概说下编译的原理.
如"
#include (stdio.h)
main ( )
int i=5;
int j;
j=(++i)+(++i)+(++i);
printf("%d",j)
结果应24.
原因是为这样的从左往右说:第一个(++i)结果为6,第二个(++i)结果为8,第三个结果也为(++i)也为10.所以式子结果为24.这是从编译原理方面解释的.
好比i=3;也是以上式子结果将为3+5+7=15.大家可以试下,原理就是这样的,不知道小弟记错了没,如果有错误请原谅,今天下班回家查下.由于现在在上班没多的时间来说明.