代码错误与检查简短教程(新手适用)

持续更新中……

预计阅读时间:10分钟

        编程大神大概率是不会犯这类错误的,新手可以看看。

        之前踩过很多坑,今天我把它们总结起来,希望大家以后可以避开。

一、总结经常出现的几类错误

1.书写错误

例如:

inr s=101;
#include <iostrean>
retunr 0;

        这三个是我经常犯的,比如把int写成inr,把iostream写成iostrean,把return写成retunr等等,这类错误是很容易发现的,在编写代码的时候应该就能够发现。

2.忘记加分号

例如:

struct student{
    string name;
    int score;
}

        发现错误了吗?是不是{}的后面没有分号。

3.循环变量搞错

例如:

for(int i=0; i<n; i++)
{
    for(int j=0; j<m; i++)
    {
        a[i][j]=0;
    }
}

        发现错误了吗?这类错误是很隐蔽的,大家看第3行的循环条件,j=0; j<m;i++,有没有发现,是i++而不是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="<<x<<" y="<<y<<endl;
    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按钮。

 调试界面就出现了。

 下面我们按下这个按钮

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

 系统会显示当前代码执行到了哪里,以及现在的任何定义的变量的相关数据。

        大部分代码编译器都会配备有该系统。


以上就是本文的全部内容啦!千万不要认为本文很弱智、无用之类的,这种错误新手们是很容易犯的。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值