有如下程序:#include<iostream)using namespace std;int main(){int*p;*p=9;cout<<“The value at

17 查阅

有如下程序: #include<iostream) using namespace std; int main() { int*p; *p=9; cout<<“The value at p:”<<*p; return 0; } 编译运行程序将出现的情况是( )。

A.编译时出现语法错误,不能生成可执行文件

B.运行时一定输出:The value at p:9

C.运行时一定输出:The value at p:*9

D.运行时有可能出错

参考答案:

D解析: 本题考查的是指针的使用。在给*p赋值前,指针p并没有指向一个具体的对象。此时可以通过编译,但运行时由于p中为随机值,该赋住可能会破坏内存中某个重要的地址空间的内容,导致程序出错;

计算机二级