----------------解决方案--------------------------------------------------------
16. 下面程序的运行结果是什么?为什么会有这样的结果?(10分)
#include <stdio.h>
int main(void)
{
int i=0;
printf("%d %d %d", i++, i++, i++);
return 0;
}
答案:不确定,根据编译器不同而不同
----------------解决方案--------------------------------------------------------
TC结果:2 1 0
i=0;
先( , ,i++)//这里的i++就是先把i的值副给它,即为0,再把i的值加1,这个时候i=1了
再( ,i++, )//这里的i++就等于刚刚加一后的i了,即i=1;再把i的值加1,这个时候i=2了
再(i++, , )//这里的i++就等于第二步i的值了,即i=2;
不知道你明白没有
[此贴子已经被作者于2007-2-6 15:55:48编辑过]
----------------解决方案--------------------------------------------------------