定义数组的时候[ ]里必须是一个常量表达式,例如a[20]是合法的,像下面这样的代码是不合法的
#include<stdio.h>
int main()
{
int n=10,i;
int a[n];
for(i=0;i<n;i++)
scanf("%d",&a[i]);
return 0;
}
但是,这段代码在我电脑上没报错?

C语言数组[ ]里可以放变量?
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
5条回答 默认 最新
- 菠萝.吹.雪 2022-04-07 18:17关注
在C99标准之后的数组中[ ]的值是支持变量的。
你的编译器执行的应该是C99或者C99之后的标准。
但是一般来说C语言数组[ ]里不可以放变量,因为他们是使用C99之前的标准本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 4无用
悬赏问题
- ¥30 电脑画面同步投屏,通过同wifi的方式投屏方法,接收投屏端不需要安装第三方软件,
- ¥15 有偿拼接大疆精灵4RGB影像
- ¥15 Arduino实现音频混响
- ¥15 cuda.jit加速报错
- ¥15 Octave 安装工具箱出错 Only Win32 target is supported!
- ¥15 docker save的不能在另一台设备运行
- ¥15 Unity Animation Rigging使用问题
- ¥15 mbedtls握手返回-7200
- ¥30 c++ http服务器
- ¥15 express连接mssql,每条额外附加了语句