c++ for循环简单问题求解答


#include <stdio.h>
int main()
{
    int i,sum1;
    for(i=1;i<25;i+=7)
    {
        sum1+=i;
    }
    printf("%d",sum1);
    int j,sum;
    for(j=1;j<25;sum+=j,j+=7)
    ;
    printf("\n%d",sum);
    return 0;
}

输出的结果为什么会是
75
4202110

#include <stdio.h>
int main()
{
    int j,sum;
    for(j=1;j<25;sum+=j,j+=7)
    ;
    printf("\n%d",sum);
    return 0;
}

单独提出来之后又变成75了。

和编译器给int的赋值有关,在循环前把sum、sum1都赋值为0就没有这样的问题了

注意sum1和sum的不同 啊

您要解决的实际问题是什么