永发信息网

自己电脑上没问题,北大acm就一大堆错,求解

答案:1  悬赏:0  手机版
解决时间 2021-11-23 17:35
  • 提问者网友:藍了天白赴美
  • 2021-11-23 10:36
自己电脑上没问题,北大acm就一大堆错,求解
最佳答案
  • 五星知识达人网友:傲气稳了全场
  • 2021-11-23 11:43
你的电脑太“先进”了,类似
scanf("%d",&n);
……
int a[n];
int b[n];

这种写法在大部分编译器上是过不了的。因为C规定声明数组时[]中必须是常数。就这一问题可以引起后面一大堆错误。你可以将n用宏定义解决一试……追问可是就是要根据输入的第一个数生成n个变量啊Main.c
F:\temp\16832749.168156\Main.c(5) : error C2143: syntax error : missing ';' before 'type'
F为什么说缺少分号,我都有啊追答不要理这些错误提示,把n的问题解决了自然就没有了,由于前面的错误使得编译器无法解释,就殃及到后面来了……若要根据输入的n来确定数组大小,C提供的是用动态分配内存的方法,比如int *p;p=(int *)malloc(sizeof(int)*n);,然后就可以当p[n]这样的数组使用p;用完后还要用free(p);来释放申请的内存空间。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯