#include <iostream>
using namespace std;
int main(){
int n=10;
int a[n];
for (int i=0; i<n; i++) {
a[i]=i+1;
cout<<a[i]<<endl;
}
return 0;
}
在 Mac 下的 Xcode4 中运行良好
书上说的,应该是错的,为什么呢?
好困惑~
这是一个称为 VLA 的 C99 功能,一些编译器在 C++ 中也允许该功能。它在堆栈上分配,就像
int a[10]
一样。
这是C99的特性,允许VLA(可变长度数组)。
用
g++ -pedantic
编译它,我确定不会编译。