1. 程式人生 > >Runtime Error可能產生的原因

Runtime Error可能產生的原因

runtime  error (執行時錯誤)就是程式執行到一半,程式就崩潰了。

比如說:

①除以零

②陣列越界:int a[3]; a[10000000]=10;

③指標越界:int * p; p=(int *)malloc(5 * sizeof(int)); *(p+1000000)=10;

④使用已經釋放的空間:int * p; p=(int *)malloc(5 * sizeof(int));free(p); *p=10;

⑤陣列開得太大,超出了棧的範圍,造成棧溢位:int a[100000000];一般來說,在

oj上做題都把陣列設成全域性變數,減少5出現的可能。

有的時候再出現這樣的錯誤還會給提示

Runtime Error(ARRAY_BOUNDS_EXCEEDED) // array bounds exceed     陣列越界

Runtime Error(DIVIDE_BY_ZERO) //divisor is nil                 除零

Runtime Error(ACCESS_VIOLATION) //illegal memory access         非法記憶體讀取

Runtime Error(STACK_OVERFLOW) //stack overflow              系統棧過載 

這樣可以照著上面查詢錯誤。

轉載自 https://blog.csdn.net/dreambyday/article/details/54880616