对高级语言源程序进行编译时,可发现以下源程序中()错误。
- A.除数为0
- B.指针异常
- C.数组元素下标越界
- D.变量未定义
正确答案及解析
正确答案
D
解析
高级语言源程序中错误分为两类:语法错误和语义错误,其中语义错误又可分为静态语义错误和动态语义错误。语法错误指语言结构上错误,静态语义错误指编译时就能发现程序含义上错误,动态语义错误只有在程序运行时才能表现出来。除数为0、堆栈溢出、指针异常和数组元素下标越界等都是程序运行中才能出现问题,而遵循先声明后引用原则程序语言必须先定义变量,然后才能使用,否则编译器会在语法分析阶段指出变量未定义错误。