请问C语言里这两种数组有什么区别?

int n;
scanf("%d",&n);
int a[n];


int a[100001]

当题目的n为300时,为什么上面的那会比下面的慢很多?甚至出现runtime error的情况

上面那个是你设的,有时候,scanf 只会找垃圾给你无论你输入什么东西,因此就爆灯啦。还有它要挪位置给 a[n],是要时间的。

下面那个是设好的,系统可以准备好给你。