永发信息网

为啥会报错呀,按照老谭的c语言,难道在调用函数中是不能用参数作为数组的长度吗?

答案:1  悬赏:0  手机版
解决时间 2021-11-28 00:27
  • 提问者网友:那叫心脏的地方装的都是你
  • 2021-11-27 11:05
为啥会报错呀,按照老谭的c语言,难道在调用函数中是不能用参数作为数组的长度吗?
最佳答案
  • 五星知识达人网友:鱼芗
  • 2021-11-27 11:39
C语言里数组的长度必须是常数,不可以用变量作为数组长度。所以当然不能用参数作为数组长度。追问所以老谭这句话是错的?
“如果在被调用的函数(不包括主函数)中定义数组,其长度可以是变量或非常量表达式。如:
viod func(int n)
{
int a[2n];

}//合法,n的值从实参传来


《C程序设计》(第四版) 谭浩强
143页追答不能说他错,要看他这本书是按照C语言的哪套标准写的。C语言自C99开始,在特定条件下允许使用变量作为数组长度定义数组。
但是,很多编译器都并不支持C99,所以我们写C语言代码的时候都不用变量作为数组长度。VS是支持变量作为数组长度的,你可以在上面编译看看。不是VS,是gcc
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯