C 循环有什么问题
我正在解决一个问题,将介于一个范围(例如,在'm'和'n'之间,其中mC 循环有什么问题,c,performance,optimization,while-loop,infinite-loop,C,Performance,Optimization,While Loop,Infinite Loop,我正在解决一个问题,将介于一个范围(例如,在'm'和'n'之间,其中m
#include <stdio.h>
int main()
{
int t=0;
long int m=0,n=0,num=0,sum=0,lsum=0,i=0;
scanf("%d",&t);
while(t--){
scanf("%ld%ld",&m,&n);
i=m;
while(i<=n){
while(i!=0){
num=i%10;
i/=10;
}
lsum=lsum+(sum%10);
i++;
}
}
printf("\n%ld",lsum);
return 0;
}
#包括
int main()
{
int t=0;
长整数m=0,n=0,num=0,sum=0,lsum=0,i=0;
scanf(“%d”、&t);
而(t--){
scanf(“%ld%ld”,&m,&n);
i=m;
当(i对i
进行除法时:i/=10
。这意味着在循环结束时,i
始终设置回1
。应使用临时变量进行除法。
像这样:
while(i<=n){
int temp = i;
while(temp !=0){
num=temp %10;
temp /=10;
}
lsum=lsum+(sum%10);
i++;
}
while(i代码中有一个无限循环:
while(i<=n)
{
while(i!=0)
{
num=i%10;
i/=10;
}
lsum=lsum+(sum%10);
i++;
}
while(我是否尝试过在调试器中运行它,逐行检查代码?您可以很容易地检查条件和变量,以找出问题所在。使用for
循环,最好使用for(i=0;iit现在不是无限的)形式。谢谢。