问题 单项选择题

若C程序的表达式中引用了未赋初值的变量,则()。

A.编译时一定会报告错误信息,该程序不能运行

B.可以通过编译并运行,但运行时一定会报告异常

C.可以通过编译,但链接时一定会报告错误而不能运行

D.可以通过编译并运行,但运行结果不一定是期望的结果

答案

参考答案:C

解析:全局变量和静态局部变量在定义时如果没有初始化,编译时会自动初始化为0;而普通的局部变量,如果没有初始化,则其值是一个随机数。在C程序表达式中,只要引用的变量定义了,就可以通过编译并运行,但运行结果不一定是期望的结果。

选择题
判断题