非常简单的程序在Dev C ++中编译,但在Visual Studio中不编译

时间:2017-11-01 16:58:29

标签: c visual-studio-2012

我做了这个非常简单的程序:

   int a;
   scanf("%i", &a);
   int tab[a];

当我在DevC ++中编译时,还有其余的程序工作正常。但是当我使用它时:

   int a;
   scanf_s("%i", &a);
   int tab[a];
在Visual Studio 2015中

出现错误。我不知道这有什么不对。

1 个答案:

答案 0 :(得分:1)

可变长度数组(VLA)是C99标准的一部分,但不是C ++ 11 / C ++ 14标准的一部分,因此它们不是由Visual C ++编译器实现的。作为" C"编译器,Visual C ++是C90,符合C11标准库中C ++ 11引用所需的部分。

  

请注意,此问题的核心已经回答here