assert-tutorial/0-Getting Started 开始.md

812 B

观察

首先来看一段代码,这段代码可能和你平常写的也差不多,但是也有一些区别

#include <assert.h>

int main(void) {
    int a = 3;
    int b = 5;
    
    assert(a + b == 8);
}

编译运行它,结果是什么都没有,这说明没有问题,那么如果不小心打错了呢,比如你是复制粘贴的第四行只改了变量名

#include <assert.h>

int main(void) {
    int a = 3;
    int b = 3;
    
    assert(a + b == 8);
}

那么很快,当你运行时,程序就会提示你预先认为的a + b == 8并不成立,导致出错的代码是/app/example.c他的行数是7

我们把 /app/example.c:7 叫位置信息
其中/app/example.c是文件名
7是行数
有了这两个就可以精确定位出问题的代码附近