自学c,请问为什么运行不出来,哪里出错啦

#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循环结束条件没写,建议改一下