它在VS中不起作用,但在我运行它时在CLion中起作用

时间:2019-04-13 04:02:35

标签: c++

我正在编写一个程序来查找主号码。它可以在Clion中使用,但不能在Visual Studio或其他编译器中使用...我真的很想知道TT

#include <iostream>

using namespace std;

int main() {
    int num;
    int i;
    int j;
    int count = 0;
    int lcount = 0;

    do {
        cin >> num;
    } while (num < 1 || num > 100);

    int arr[num];
    for(i = 0; i<num; i++) {
        cin >> arr[i];
    }

    for (i = 0; i < num; i++) {
        if (arr[i] == 1)
            continue;

        for (j = 2; j < arr[i]; j++) {
            if (arr[i] % j == 0) {
                lcount = 1;
                break;
            }
        }
        if (lcount==0)
            count++;
    }

    cout << count;
    return 0;
}

1 个答案:

答案 0 :(得分:2)

使用时

int arr[num];

您正在使用可变长度数组,因为num的值在编译时未知,并且它的值在运行时可以是任何值。该标准不支持可变长度数组。一些编译器支持它作为扩展。似乎Visual Studio不支持它。

将行更改为使用std::vector

std::vector<int> arr(num);