问题描述
大家好,
以下代码
< CODE>
void foo(int n)
{
int a [n];
.....
}
< / CODE>
标准兼容和便携?
我使用的是英特尔,M $'s,borland ''数字火星'和GUN(c89)的编译器
编译了它,前三个报告错误,但最后两个默认通过了
。我想知道那段代码是否便携。
提前。
£*£*£*£*£*£*£*£* £*£*£*£*£*£*£*£*£*£*£*£*£*£*£*£*£*£*£*
祝你好运,
Hi, everyone,
Is the following code
<CODE>
void foo(int n)
{
int a[n];
.....
}
</CODE>
standard compliant and portable?
I use intel''s, M$''s, borland''s Digital Mars''s and GUN(c89)''s compiler
compiled it, the first three report error but the last two were passed
silently. I want to know whether that code is portable.
Ths in advance.
£*£*£*£*£*£*£*£*£*£*£*£*£*£*£*£*£*£*£*£*£*£*£*£*£* £*£*
Best regards,
推荐答案
这是在C99标准中定义的,只要你使用C99编译器就可以移植它。
与gcc一起使用它std = C99选项,如果我的记忆没有背叛
我。
jacob
This is defined in the C99 standard, and it is portable as long as you
use a C99 compiler.
To use it with gcc use the std=C99 option, if my memory doesn''t betray
me.
jacob
这篇关于变体长度数组声明标准兼容吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!