C语言数组输出错误?

Python013

C语言数组输出错误?,第1张

您好,很高兴回答您的问题。

您这个程序肯定是有错误的哦。因为您定义的数组是5个元素,就是nums[0]到nums[4],但是程序中有nums[c+1],那么c最大只能取3,否则数组下标就越界了。您的程序就存在越界的问题哦。

以上就是我的回答,希望能帮助到您。

#include<stdio.h>

int main()

{

    int m, c

    int Jud(int m)

    printf("请输入一个整数:\n")

    scanf("%d", &m)

    c = Jud(m)

    if (c == 1)//判断用==

        printf("该整数是素数\n")

    else

        printf("该整数不是素数\n")

}

int Jud(int x)

{

    int i, n = 0, r

    for (i = 1i <= xi++)

    {

        r = x%i

        if (r == 0)

            n = n + 1

    }

    if (n == 2)

        return (1)

    else

        return(2)

}

判断用== 不要用=

因为else if(num>99999 &&num<0)的()中的num>99999 &&num<0是永远不可能为“真”的表达式,所以无论输入什么数据都不会执行。根据疑问1的表述,这一句应该写成else if(num>99999 || num<0)可能才对。

疑问2要对输入和这个if分支重新构架,改如下——

后者较好。