当我使用Microsoft Visual Studio学习C时,它不允许我创建一个非常大小的数组.我不得不把价值int arr[5];或者做#define size 5或做int arr[size];.但是今天使用Clion,我注意到它允许我执行以下操作:
#include <stdio.h>
int main()
{
printf("Enter a value: ");
int x;
scanf("%d", &x);
int arr2[x];
for (int i = 0; i < x; i++)
{
arr2[i] = i;
printf("Array at %d is %d.\n", i, arr2[i]);
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
这个C代码编译和运行没有任何问题 - 没有段错误或任何东西.这是怎么回事?这是合法的C代码,我刚刚在一个不允许它的IDE中学习过,或者这是无效的C代码而我只是使用了一个糟糕的编译器?在我使用Linux的另一台计算机上,我甚至安装了GCC 7.2,并且允许使用相同的语法.我不明白.这是一个CLion问题,CMake问题还是C lang问题?
我的编译器和CMake如下所示.谢谢.
| 归档时间: |
|
| 查看次数: |
115 次 |
| 最近记录: |