C 两个类似的for循环给出不同的结果
只是在玩for循环,想看看结果是什么 我假设两者产生相同的结果,但我错了C 两个类似的for循环给出不同的结果,c,for-loop,C,For Loop,只是在玩for循环,想看看结果是什么 我假设两者产生相同的结果,但我错了 int sum ,sum2 , i , j; for( sum = 0, i = 1 ; i <= 5 ; sum+=i , i++ ) printf("%d\t",sum); printf("\n"); for( sum2 = 0, j = 1 ; j <= 5 ; j++ ) { su
int sum ,sum2 , i , j;
for( sum = 0, i = 1 ; i <= 5 ; sum+=i , i++ )
printf("%d\t",sum);
printf("\n");
for( sum2 = 0, j = 1 ; j <= 5 ; j++ ) {
sum2 +=j;
printf("%d\t",sum2); }
在第一个循环中,
sum
在迭代结束时递增,因此在调用printf
之后,而在第二个循环中,sum2
在调用printf
之前递增,如果您仔细遵循执行指针,在第一个循环中,sum+=i
在i
递增之前发生
在第二个循环中,sum2+=j
发生在j
增加之后