关于c语言数组初始化的问题
#include<stdio.h>
int isPrime(int x, int knownPrimes[],int numberOfKnownPrimes);
int main()
{
    const int number 100
    int prime[number] = {2};
    int count = 1;
    int i = 3;
    while (count < number){
        if (isPrime(i,prime,count)){
            prime[count++] = i;
        }
        i++;
    }
    for (i=0; i<number; i++){
        printf("%d",prime[i]);
        if ( (i+1) %5){
            printf("\t");
        }else{
            printf("\n");
        }
    } 
    return 0;
}
int isPrime(int x, int knownPrimes[],int numberOfKnownPrimes)
{
    int ret = 1;
    int i;
    for (i=0; i<numberOfKnownPrimes; i++){
        if (x %knownPrimes[i] == 0){
            ret = 0;
            break;
        }
    }
    return ret;
}

在这段代码中 我已经将number定义为常量100了,为什么在编译时仍然会出现“variable-sized object may not be initialized”的错误 (IDE是DEVC++)

2个回答

要不写成这样 #define number 100
要不写成这样const int number = 100;
你的写法错误

我记得似乎要写在顶端吧……不过同上

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问