c语言,为什么生成没有问题,但是不能调试??

#include<stdio.h>
int main()
{
int i=0,n,sum=0;
printf("请输入n的值;\n");
scanf("%d",&n);
while(i<=n)
if(i%3==0||i%7==0)
sum=sum+i;
i++;

printf("1到n中能被3或7整除的数之和为%d",sum);
return 0;

}

#include<stdio.h>
int main()
{
    int i=0,n,sum=0;
printf("请输入n的值;\n");
scanf("%d",&n);
    while(i<=n)
{//少了花括号,i不能自增
if(i%3==0||i%7==0)
        sum=sum+i;
    i++;
}

printf("1到n中能被3或7整除的数之和为%d",sum);
return 0;

}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-12-04

您好,您的这个程序是在那个循环里面出现问题了,出现死循环,您应该进行如下修改:

while(i<=n)
 {  
   if(i%3==0&&i%7==0)  sum+=i;
   i++;
 }
//要是您不加这个括号的话,循环只执行if();不会执行i++的,所以一直循环
//望采纳

本回答被提问者采纳
相似回答