#include<stdio.h>
#include<stdlib.h>
int main()
{
int i,n,*a=(int*)malloc(n*sizeof(int));
scanf("%d",&n);
for(i=0;i<n;++i)
scanf("%d",(a+i));
for(i=0;i<n;++i)
printf("%d",*(a+i));
free(a);
return 0;
}
上述程序运行smootly直到输入(即,n)小于或等于6。如果我输入的n大于6则示出了运行时error.WHY?这里运行时错误取决于输入
您使用的未初始化的变量'N'的值分配内存。在**'scanf()'之后''malloc()'需要放**。 – m0h4mm4d
我建议你把你的代码里面的问题,而不是上传为图像。在SO中有一个代码标签,它对于c代码来说工作得非常好。 – m0h4mm4d