c中有关增量前后缀的一个小问题(已自己解决)
代码如下:================================
#include <stdio.h>
int main (void)
{
int count, sum;
count = 0;
sum = 0;
while (count++ <20)
{
sum = sum + count;
printf ("sum = %d \n", sum);
}
return 0;
}
========================
按我的理解,count++ 应该先带入0啊,然后才递增,那输出结果第一个应该是sum = 0,实际情况是输出结果第一个为 sum = 1.
新手自学看不懂,谢谢您了!
=======================
原因:
while (count++ <20)中 count++ <20 已经是一个完整的表达式了,他的结束就是一个顺序点,程序会在进入下一步之前就进行副作用,给count加上1.
[ 本帖最后由 yaozuo3292 于 2012-4-3 09:19 编辑 ]