1. 程式人生 > >oj Runtime error常見原因+cpp函式命名規則

oj Runtime error常見原因+cpp函式命名規則

runtime error (執行時錯誤)就是程式執行到一半,程式就崩潰了。
比如說:
①除以零;
②陣列越界:int a[3]; a[10000000]=10;
③指標越界:<1>int * p; p=(int )malloc(5 sizeof(int)); *(p+1000000)=10;
<2>再比如說,在單鏈表中,p=NULL; 後面語句中,又出現了p->next;
④使用已經釋放的空間: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 系統棧過載

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

cpp函式命名規則
推薦使用動賓結構。函式名應清晰反映函式的功能、用途。
函式名最長不得超過30個字元。
函式名第一個字母必須大寫。
全域性函式必須以小寫字首”g”開頭。全域性函式的名字應當使用“動詞”或者“動詞+名詞”(動賓片語)。類的成員函式應當只使用“動詞”,被省略掉的名詞就是物件本身。