若C程序表达式中引用了未赋初值变量,则()。
- A.编译时一定会报告错误信息,该程序不能运行
- B.可以通过编译并运行,但运行时一定会报告异常
- C.可以通过编译,但链接时一定会报告错误信息而不能运行
- D.可以通过编译并运行,但运行结果不一定是期望结果
正确答案及解析
正确答案
D
解析
本题考查程序语言翻译基础知识。在编写C/C++源程序时,为所定义变量赋初始值是良好编程习惯,而赋初值不是强制要求,因此编译程序不检查变量是否赋初值。如果表达式中引用变量从定义到使用始终没有赋值,则该变量中值表现为一个随机数,这样对表达式求值结果就是不确定了。