Scott-Bing 2018-05-13 17:59 采纳率: 100%
浏览 716
已采纳

C语言学到函数,变量初始化为100就正常,初始化为10就报错(都能运行得到结果)

![图片说明](https://img-ask.csdn.net/upload/201805/14/1526233851_769687.png)图片说明
图片说明
如图,用Xcode写的。
代码如下。
第五行的 count 变量。

 #include <stdio.h>
int isPrime(int num,int knownPrime[],int numOfPrime);
int main()
{
    const int count=100;
    int prime[count]={2};
    int num=2;
    int nOP=1; //numberOfPrime
    while ( nOP <=count)
    {
        num ++;
        if(isPrime(num,prime,nOP))
            prime[nOP++]=num;
    }
    for (int j=0; j<nOP; j++)
    {
        printf("%d\t",prime[j]);
    }
}
int isPrime(int num,int knownPrime[],int numOfPrime)
{
    int ret =1;
    for(int k =0;k < numOfPrime;k ++)
    {
        if(num % knownPrime[k] ==0)
            ret =0;
    }
    return ret;
}

  • 写回答

5条回答 默认 最新

  • threenewbee 2018-05-13 18:08
    关注

    你的代码没有正确为prime分配内存,造成堆栈破坏
    图片说明
    int prime[count]={2};
    替换成
    int * prime = (int *)malloc(sizeof(int) * count);
    prime[0] = 2;
    另外加上

     #include <stdlib.h>
    

    此时运行没有问题

    图片说明

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 vc6.0中想运行代码的时候总是提示无法打开文件是怎么回事
  • ¥25 关于##爬虫##的问题,如何解决?:
  • ¥15 ZABBIX6.0L连接数据库报错,如何解决?(操作系统-centos)
  • ¥15 找一位技术过硬的游戏pj程序员
  • ¥15 matlab生成电测深三层曲线模型代码
  • ¥50 随机森林与房贷信用风险模型
  • ¥50 buildozer打包kivy app失败
  • ¥30 在vs2022里运行python代码
  • ¥15 不同尺寸货物如何寻找合适的包装箱型谱
  • ¥15 求解 yolo算法问题