-1
我寫了下面的代碼,但是我得到一個崩潰(沒有警告或錯誤),不知道原因:這個C程序爲什麼會崩潰?
const int N = 1000;
int main(){
int *pI = calloc(N,sizeof(int));
for (int i=0;i<N;i++) {
*(pI++) = (i+1);
}
free(pI);
return EXIT_SUCCESS;
}
我很感謝任何意見!
提示:當您的程序崩潰時,請使用調試器進行調查。或者至少:提供打印報告,告訴你**你究竟在哪裏**正好崩潰。 – GhostCat
您修改'pI',所以您不能調用'free(pI)',因爲它不再是指向有效分配的指針。 –