C 两个类似的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

只是在玩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++ ) {
            sum2 +=j;
            printf("%d\t",sum2); }

在第一个循环中,
sum
在迭代结束时递增,因此在调用
printf
之后,而在第二个循环中,
sum2
在调用
printf
之前递增,如果您仔细遵循执行指针,在第一个循环中,
sum+=i
i
递增之前发生

在第二个循环中,
sum2+=j
发生在
j
增加之后