c - 为什么使用 Dev-C++ 编译器而不是 Visual Studio 的编译器进行编译?

标签 c visual-studio dev-c++

为什么下面的代码用 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();
}

这里是错误:

Errors http://img688.imageshack.us/img688/6618/26863513.jpg

最佳答案

这个:

int arr[n];

无效,因为 n 不是常量表达式。您需要使用 malloc 在堆上分配大小可变的数组(然后在使用 free 完成后释放它们)。

如果您尝试使用 .cpp 扩展名对其进行编译,则 main 的返回类型必须为 int。如果您尝试使用 .c 扩展名对其进行编译,则需要使用 c 风格的局部变量声明并在函数顶部声明所有局部变量。

关于c - 为什么使用 Dev-C++ 编译器而不是 Visual Studio 的编译器进行编译?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1766347/

相关文章:

C 程序循环不正确

linux - Visual Studio 2017 无法连接到 WSL 说用户名和密码错误

android - 是否可以在一些人使用 Xamarin IDE 而其他人使用 Visual Studio 的团队中工作?

c++ - 在 Dev-C++ 中包含 Qt 库

c - printf() 在没有双引号的情况下工作,打印随机字符

C++ PlaySound() 错误

c++ - 轨道菜单弹出 : popup menu keeps disappearing

c - 使用扩展汇编语法在实模式下调用 BIOS 服务存在困难

c - 指针对齐问题

visual-studio - 无法从 Visual Studio 访问在 VSTS 符号服务器中发布的符号