题目如下。输出结果空白,但明明调试栏结果正常,就是输出不了。想知道错因以及改法
#include<stdio.h>
int main()
{
int a,b,sum=0,str[100];
for(int i=999;i>0;i--)//把999改成28来试验,结果也是不对
{
for(int j=1;j<i;j++)
{
if(i%j==0)
{
sum+=j;
str[j-1]=j;//用数组来存储因子
str[j-2]='\0';//这里是想防止后面的数是乱码
}
}
if(sum==i)
{
printf("%d its factors are ",i);
for(int t=0;t<100;t++)
{
if(str[t]!='\0')
printf("%d ",str[t]);//输出因子
else
break;
}
}
}
return 0;
}