c编译器可以找出c源程序中所有的语法错误和逻辑

时间:2024-09-30 01:14:12 热门攻略

C编译器可以找出C源程序中所有的语法错误和逻辑错误,但并不找出逻辑错误。

1. 静态错误和动态错误

1.1 静态错误: 静态错误是编译时发现的错误,包括静态语法错误和静态逻辑错误。

1.2 动态错误: 动态错误是指程序运行时发生的逻辑错误,如死循环、数组下标越界等。

2. 编译器的工作

2.1 语法错误检测: 在编译前浏览程序的源代码,查看是否有明显的语法错误。

2.2 编译器提示错误: 编译器的工作之一是检查语法错误,并提示程序员。

3. 系统错误的编码

3.1 一般错误:1-199 编号,指一般编译器产生的语法错误。

3.2 PC-Lint 内部错误:200-299 编号,不会出现在代码中。

3.3 系统致命错误:300-399 编号,由于内存限制等导致的致命错误。

3.4 提示信息:400-999 编号,根据源代码的错误情况生成提示信息。

4. 逻辑错误

4.1 编译器限制: 编译器无法确定编程者的意图,因此无法准确找出逻辑错误。

4.2 动态语义错误: 指程序中包含的逻辑错误,发生在程序运行时。