请教c语言大神,这个错误怎么改?

2025-12-04 22:48:49
推荐回答(2个)
回答1:

c语音要求所有变量必须吧定义写在可执行代码之前,那么就无法定义输入的n+m个变量,编译程序需要在编译时就要知道n+m的具体数值,这与你程序设计是不相容的。
解决动态申请存储空间需要这样改程序:
#include
int main()
{ int *a;
...
scanf("%d%d",&n,&m);
a=(int *)malloc(n+m); //向系统申请n+m个int型空间,首地址用a指向
...
for ( i=0;i if ( a ) free(a); //在程序退出之前需要手动释放存储空间
return 0;
}

回答2:

在main函数中没有定义a