我有下面的代码,我希望输出为:充分认识前缀增量(++)操作
foo(0) -- 2 /* 1*2 */
foo(2) -- 12 /* 3*4 */
foo(4) -- 30 /* 5*6 */
但我有
foo(2) -- 4
foo(4) -- 16
foo(6) -- 36
代替。有人可以向我解释发生了什么事吗?
include <stdio.h>
int main()
{
int counter; /* counter for loop */
counter = 0;
while (counter < 5)
printf("foo(%d) -- %d\n", counter, ((++counter)*(++counter)));
return (0);
}
+1对于过于迂腐的编译器。 – Thomas 2013-06-14 07:47:17