|
发表于 2021-11-28 21:36:33
|
显示全部楼层
本楼为最佳答案
本帖最后由 jackz007 于 2021-11-28 21:40 编辑
- #include <stdio.h>
- int main(void)
- {
- int count ;
- scanf("%d" , & count) ;
- int arr[count][4] ;
- }
复制代码
这个代码在 gcc 下是可以正常编译的。
- D:\00.Excise\C>g++ -o x x.c
- D:\00.Excise\C>
复制代码
但是,在 VC2019 下是无法编译的
- D:\00.Excise\C>cl x.c
- 用于 x86 的 Microsoft (R) C/C++ 优化编译器 19.28.29334 版
- 版权所有(C) Microsoft Corporation。保留所有权利。
- x.c
- x.c(7): error C2057: 应输入常量表达式
- x.c(7): error C2466: 不能分配常量大小为 0 的数组
- x.c(7): error C2133: “arr”: 未知的大小
- D:\00.Excise\C>
复制代码
所以,你看到小甲鱼可以,因为他用的编译器是 gcc。解决此问题的方法是用 malloc() 来申请动态存储空间,当然,也可以换用 gcc 编译器。 |
|