比如说:
①除以零②数组越界: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 系统栈过载这样可以照着上面查找错误。
新闻热点
疑难解答