oj 常见错误总结

//这篇文章是学 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.运行错误,时间超限
  数组越界,指针为空
  方法:不断选择代码区域,用注释符号屏蔽代码再提交,直到提交提示从运行错变为答案错,则错误已经被注释屏蔽,打开的代码没有问题,那就在被注释的部分中去寻找错误即可

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值