高手指教解决办法

高手指教
# include<stdio.h>
int main(void)
{
int m,n,sum0;
int factorsum(int m);
scanf("%d%d",&m,&n);
while(m>=1&&m<=n)
{
sum0=factorsum(m);
if(m==sum0)
{
printf("%d ",m);
m++;
}
}
return 0;
}
int factorsum(int m)
{
int sum=0,i;
for(i=1;i<=m/2;i++)
{
if(m%i==0)
sum=sum+i;
}
return sum;
}/*输出m n之间因子和(例如12的因子和是1+2+3+4+6=16,但是,它不等于本身)等于本身的数*/
/*错在哪里*/

------解决方案--------------------
scanf("%d%d",&m,&n);

改成scanf("%d %d",&m,&n);试试,没空格怎么输入啊
------解决方案--------------------
if(m==sum0)
{
printf("%d ",m);
m++;
}

m++放在大括号的外面才行哦
------解决方案--------------------
都是小问题。
------解决方案--------------------
探讨
if(m==sum0)
{
printf("%d ",m);
m++;
}

m++放在大括号的外面才行哦

------解决方案--------------------
while(m>=1&&m<=n)
改成
while(1<=m && m<=n)
更好看