栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

【实用篇】21条 C/C++ 常用注意事项

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【实用篇】21条 C/C++ 常用注意事项

C/C++ 是一门很值得学习的语言,但里面有不少易错的地方,可能会让大家困扰不少,下面让我们一起来看看这些要注意的地方吧。

本文主要针对刷题的注意事项,但对其他人依然有不少参考性。

1. 注意 int 有没有越界,又或者 long long 会不会 MLE ( Memory Limit Exceeded 空间超限 )。

2. 使用 float 时小数精度可能不够,而使用 double 依然要注意空间问题。

3. 提交自己的代码时,一定不要提交调试信息(如中途输出等),否则会 WA,这样有可能罚分或罚时。

4. 注意数组与变量的初始化!(大多数情况下,全局数组 int / long long / float / double 默认为0)

5.  注意千万不要将 == 写成 =,否则肯定会出问题。

6. n 和 m 要分清!

7. for 循环时,注意多层循环要有不同的变量循环(不能总是 i ,否则肯定要出事),搞清楚是 ++ 还是 --。

8. 逻辑判断时,注意 < 与 <= 和 > 与 >=。

9. 如果觉得此段代码可能不再(或暂时)不需要了,应该将其注释,不应删除,以免后面可能再次使用。

10. 注意运算符优先序!

11.  看清楚题目要求的输出格式!(如 yes 与 Yes 与 YES 的区别)

12. 如果不知道那里有 bug,应分段调试,可以采用中间变量输出等方法。

13. 注意如果使用 scanf 输入,应加上 &,否则非法内存访问。

14. 如果 TLE ( Time Limit Exceeded 时间超限 ) 了,尝试加上(有时真的就 AC 了):

ios::sync_with_stdio(0);
cin.tie(0);

或         ( ⬆️ cin,cout 加速   ⬇️   手动开O2 )

#pragma GCC optimize(2)

15. 注意字符需使用单引号,字符串使用双引号。

16. 因为大多数评测机系统为 Linux,所以不要使用 windows 才可用的东西。(如 windows.h )

17. while 循环时注意循环变量一定要有变化,否则会死循环。

18. 运算时,做除法时,除数为0不会报错,但是取模时除数不可以为0,否则会运行时报错。

19. sort 排序时,若有多个相关量,应使用结构体。

20. 字符串下标从0开始,除非输入时为 cin>>s+1。

21. 起变量名时,应避免过于简单的名字,也避免其主流函数名(如 max, min,虽然用 namespace 后并不会出大问题,但也应该尽量避免)。

部分原文:

things to check
1.  int overflow or long long memory need
2.  recursion/array/binary search/dp/loop bounds
3.  precision
4.  special cases(n=1,bounds)
5.  delete debug statements
6.  initialize(especially multi-tests)
7.  = or == , n or m ,++ or -- , i or j , > or >= , < or <=
8.  keep it simple and stupid
9.  do not delete, use // instead
10. operator priority
11. is there anything extra to output?
12. if you do not know where the bug is , try to clear some parts of the code and check each part seperately.
something to think about
1. greedy? dp? searching? dp with matrix/ segment tree? binary search?
2. If contains "not", why not 正难则反 or few affect?

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/942325.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号