📜  C C++中的错误(1)

📅  最后修改于: 2023-12-03 14:59:36.423000             🧑  作者: Mango

C/C++中的错误

在编写C/C++程序时,常常会出现各种各样的错误。这些错误可能是语法错误、逻辑错误或者是运行时错误。本文将介绍C/C++中一些常见的错误。

语法错误

语法错误是指程序中违反语法规则的错误。例如,缺少分号、括号不匹配等。

示例代码
#include <iostream>

int main()
{
    std::cout << "Hello, world!" << std::endl;
    
    // 缺少分号
    std::cout << "This is a syntax error"
    return 0;
}
错误信息
main.cpp: In function ‘int main()’:
main.cpp:7:5: error: expected ‘;’ before ‘return’
     return 0;
     ^
解决方案

遵循C/C++语法规则。

逻辑错误

逻辑错误是指程序在逻辑上出现错误,例如错误的算法或者错误的判断等。

示例代码
#include <iostream>

int main()
{
    int a,b;
    a = 10;
    b = 0;
    
    // 除以0
    std::cout << a / b << std::endl;
    
    return 0;
}
错误信息
main.cpp: In function ‘int main()’:
main.cpp:8:20: error: / by zero
     std::cout << a / b << std::endl;
                    ~^~ ~~~
解决方案

正确地设计程序逻辑,如在除数为0时进行特殊处理。

运行时错误

运行时错误是指程序在执行过程中发生的错误,例如数组越界、空指针等。

示例代码
#include <iostream>

int main()
{
    int a[10];
    
    // 数组越界
    std::cout << a[10] << std::endl;
    
    return 0;
}
错误信息
main.cpp: In function ‘int main()’:
main.cpp:7:19: warning: array subscript is above array bounds [-Warray-bounds]
     std::cout << a[10] << std::endl;
                   ~~^~~
解决方案

正确地使用数组,并进行边界检查。

总结

以上是C/C++中一些常见的错误。在编写程序时,务必要仔细检查自己的代码,及时修正错误。