#include <stdio.h>
int main()
{
int i, T, k;
scanf("%d", &T);
int year[T];
int month[T];
int day[T];
我输入了T的的值,scanf("%d", &T);
再声明的int year[T];
为什么不行?
我的代码如下:(我在c- free 5.0软件调试没有错误,能运行。在visualc++中发生错误, ?)
#include
int main()
{
int T;
scanf("%d", &T);
int year[T];
这只能说编译器不同而造成的不同。我不懂free怎么处理的。
老式编译器的情况,就像我说的那样,静态数组编译时必须确定其长度。
如果这样都可以,还要动态分配空间干嘛??多此一举吗???写着还麻烦??