#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