#include <stdio.h>
int main()
{
int number, yinzi1, yinzi2,n,a[100000];
printf("Please input number:");
scanf("%d", &number);
yinzi1 = 1;
n = 0;
for (;; yinzi1++)
{
yinzi2 = number % yinzi1;
if (yinzi2 == 0 && yinzi1 >= 100 && yinzi1 < 1000)
{
a[n] = yinzi1;
n = n + 1;
}
}
if (5)
printf("%d\n", a[n]);
else
printf("no");
return 0;
}
for循环没有结束条件循环不设置结束条件,也不写break,标准死循环
修改如下,供参考:
#include <stdio.h>
int main()
{
int number, yinzi1, yinzi2, n, a[100000];
printf("Please input number:");
scanf("%d", &number);
//yinzi1 = 1; //修改
n = 0;
for (yinzi1 = 1; yinzi1 <= number; yinzi1++) //修改
{
yinzi2 = number % yinzi1;
if (yinzi2 == 0 && yinzi1 >= 100 && yinzi1 < 1000)
{
a[n] = yinzi1;
n = n + 1;
}
}
if (n != 0)//if (5) //修改
for (yinzi1 = 0; yinzi1 < n; yinzi1++) //修改
printf("%d\n", a[yinzi1]);
else
printf("no");
return 0;
}
你的
for循环结束条件没写,建议改一下