高分悬赏:计算1+2+3+...+100,这个程序明明没有错,为什么不输出结果

main()
{
int i;
i = 1;
int sum;
for(;;++i);
{
sum = sum + i;
if (i > 100) break;
}
printf(sum);
}

printf("%d", sum);

这个简单代码有四处有问题,是故意出的题吧

main()
{
    int i;
    i = 1;
    int sum = 0;
    for(;;++i)
    {
        sum = sum + i;
        if (i >= 100) break;
    }
    printf("%d",sum);
}

sum没赋值,花括号也弄错了

#include<cstdio>
int main()
{
    int sum=0;
    for(int i=1;i<=100;i++)
        sum+=i;
    printf("%d",sum);
}
  1. sum=?
  2. int main()
  3. for(;;++i)
  4. printf("%d",&sum);
  5. if (i >= 100) break;
  6. #include

int main()
{
int i=1,sum=0;
while(i<=100)
sum+=(i++);
printf("%d",sum);
return 0;
}

因为你for语句后面有分号。
有分号的话是不执行花括号里的代码的。