//这篇文章是学 C++ 时,老师当时给我们讲了一下常见错误的犯错原因,以及如何去解决,当时我做了电子版笔记,今天在整理文件时看到了,于是再次补充完善了一下,发到我的博客里
1.格式错误:
空格换成"#",检查输出格式和样例格式
2. 答案错误
所给输出直接复制粘贴到代码中,避免出现中英文的符号不一致,以及符号的全半角问题
3.VC过,OJ答案错误
1)数组空间不够
2)有返回的函数必须所有路径有返回(如果函数有返回值,则必须所有路径有返回,哪怕这个路径可能不会执行)
/*
举个 Java 中的例子:( 因为突然想到,上次做 Java 卷子时,我这题就是出错了的 )
执行下面的方法 method(),返回值为?
int method ()
{
int num = 12;
if ( num > 10 )
return num;
num = 20;
}
一开始时我很是肯定的,肯定是返回 12 啊!if 里的语句肯定是必然被执行的,那就直接返回了呀!
可是,最后的正确答案是 编译错误
原因是这样的,Java 对于语法检查十分严格,对于有返回值的函数,一定要每一个分支都有返回值,无论哪个分支有没有被执行的可能
当然,我也知道 if 分支下面的那个隐式 else ,也就是 num = 20; 及其之后的语句,肯定是不会被执行的啊!但是,编译器不知道啊,它并不知道我们运行时,是不会走下面的那个分支的,所以它就认为,每一个分支都必须有返回值
这点非常重要,一定要警惕!!!
*/
3)所有变量在使用前必须保证有值,尤其指针变量
4.输出超限
检查死循环
在不明显时,可以在循环中加入输出语句,看是否不断输出,借此来判断是否进入死循环
5.运行错误,时间超限
数组越界,指针为空
方法:不断选择代码区域,用注释符号屏蔽代码再提交,直到提交提示从运行错变为答案错,则错误已经被注释屏蔽,打开的代码没有问题,那就在被注释的部分中去寻找错误即可
oj 常见错误总结
最新推荐文章于 2023-03-28 22:05:51 发布