这段代码在电脑上的dev里面可以运行,在网站上的在线运行会报错::Floating point exception,想问一下这是怎么回事

c语言网刷oj题

img

我的想法是初始化一个数组然后循环输出

    #include
    int main()
    {
        int n, i;
        int a[4]={3,5,7};
        scanf("%d", &n);
        for(i=0; i<4; i++){
            if(n%a[i]==0){
                printf("%d ", a[i]);
            }
        }
        if(i==4){
            printf("n");
        }
        
   
        
        return 0;
        
    }

这段代码在电脑上的dev里面可以运行,在网站上的在线运行会报错::Floating point exception,想问一下这是怎么回事


    #include<stdio.h>
    int main()
    {
        int n, i,num=0;
        int a[3]={3,5,7};
        scanf("%d", &n);
        for(i=0; i<3; i++){
            if(n%a[i]==0){
                printf("%d ", a[i]);
                num++;
            }
        }
        if(num==0){//num=0表示该数不能被3.5.7任意一个数整除
            printf("n");
        }
        return 0;
    }

a数组第4个元素是0啊,不能作为求余数吧
将代码中的4改为3试试