为什么下面的代码用 Dev-C++ 编译编译器和 不使用 Visual Studio?
有什么想法吗?这是代码:
#include<stdio.h>
main(){
int n,i;
scanf("%d",&n);
int arr[n];
for(i= 0 ; i <n ; i++)
{
//Do something with the array
}
fflush(stdin);
getchar();
}
这里是错误:
最佳答案
这个:
int arr[n];
无效,因为 n
不是常量表达式。您需要使用 malloc
在堆上分配大小可变的数组(然后在使用 free
完成后释放它们)。
如果您尝试使用 .cpp
扩展名对其进行编译,则 main
的返回类型必须为 int
。如果您尝试使用 .c
扩展名对其进行编译,则需要使用 c 风格的局部变量声明并在函数顶部声明所有局部变量。
关于c - 为什么使用 Dev-C++ 编译器而不是 Visual Studio 的编译器进行编译?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1766347/