编程大神大概率是不会犯这类错误的,新手可以看看。
之前踩过很多坑,今天我把它们总结起来,希望大家以后可以避开。
例如:
inr s=101;
#include
retunr 0;
这三个是我经常犯的,比如把int写成inr,把iostream写成iostrean,把return写成retunr等等,这类错误是很容易发现的,在编写代码的时候应该就能够发现。
例如:
- struct student{
- string name;
- int score;
- }
发现错误了吗?是不是{}的后面没有分号。
例如:
- for(int i=0; i
- {
- for(int j=0; j
- {
- a[i][j]=0;
- }
- }
发现错误了吗?这类错误是很隐蔽的,大家看第3行的循环条件,j=0; j
4.数组越界
例如:
- //题目要求:输入一个数组(0≤数组大小≤1000),找出其中的最大值。
- int a[505];
- int n;
- cin>>n;
- for(int i=0; i<=n; i++)
- {
- cin>>a[i];
- }
- ……
这是一个小例子,对于题目要求的边界条件一定要仔仔细细的看,避免出现边界条件这类错误。
5.数据类型错误
- //题目要求:输入一个长整数
- int a[1001];
这类错误是很容易犯的,千万避免。
关于这些错误,我们应该如何避免呢?
二、错误的避免
绝招1 --- 打印
- void dfs(int x,int y)
- {
- ans++;
- g[x][y]=false;
- cout<<"x="<
" y="< - if(g[x-1][y]) dfs(x-1,y);
- if(g[x+1][y]) dfs(x+1,y);
- if(g[x][y-1]) dfs(x,y-1);
- if(g[x][y+1]) dfs(x,y+1);
- }
在编写递归调用这类经常会出错的代码时,我们不妨把当前信息输出出来,最好还能够标记上是在递归第几层输出的。
绝招2 --- 调试
调试是一个很难的过程。
以MacOS系统的CodeRunner编辑器为样例给大家解释一下。
点击run按钮并点击run and debug按钮。

调试界面就出现了。

下面我们按下这个按钮

就可以进入按步骤运行啦!

系统会显示当前代码执行到了哪里,以及现在的任何定义的变量的相关数据。
大部分代码编译器都会配备有该系统。
以上就是本文的全部内容啦!千万不要认为本文很弱智、无用之类的,这种错误新手们是很容易犯的。
-
相关阅读:
GNSS及其定位原理,差分GNSS技术分析
java编程基础总结——16.Object类
Java 集合---尚硅谷Java入门视频学习
[模块化编写驱动控制LED灯]
碲化镉量子点/聚(3,4-乙撑二氧噻吩)-聚苯乙烯磺酸复合纳米微球/聚苯乙烯微球载纳米铜的制备方法
git LFS
LCD电子手提秤电路板方案软硬件开发
【Day33】每日一题 [779. 第K个语法符号 ]
Linux环境开发工具yum、makefile的使用 【Linux】
CenterNet目标检测【详解】
-
原文地址:https://blog.csdn.net/weixin_46522531/article/details/126551884
-
最新文章
-
沪漂五周年了:我越来越迷茫了
Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
MySQL-Seconds_behind_master的精度误差
[MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
Agent OS :五种驯服不确定性的范式
PortSwigger SQL注入LAB11
数据库即时编译JIT
[Begin]AI Learn Data Day 0
深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU