代码 不在 VS 代码中工作,但在 OnlineGDB 中工作

Code Not working in VS Code but works in OnlineGDB

我正在 VS Code 1.57.1​​ 中使用 C++ 语言练习 primeSieve

但附加代码在 VS Code 中不显示输出,而在在线 C++ 编译器中显示输出,例如 https://www.onlinegdb.com/online_c++_compiler

谁能帮我解决这个问题。

#include<iostream>
using namespace std;
void primeSieve(){//Genearate array containing prime number
    int number;
    cin>>number;
    int p[1000] = {0}; //1=Prime;0=Non-Prime
    
    //Mark All Odd number prime
    for(int i=3;i<=1000;i+=2){
        p[i]=1;
    }
    //Sieve
    for(int i=3;i<=1000;i+=2){//jumping over odd numbers
        //if current number is not marked(it is prime)
        if(p[i]==1){
            //Mark Multiples as 0
            for(int j=2*i;j<=1000;j=j+i){
                p[j]=0;
            }
        }
    }
    //Special Case
    p[2]=1;
    p[1]=p[0]=0;

    for(int x=0;x<=number;x++){
        if(p[x]!=0){
            cout<<x<<" ";
        }
    }
}
int main(){
    primeSieve();
    return 0;
}

p[] 的大小为 1000。您的循环上升到 1000。尝试删除循环中的 = 并只保留 i < 1000.