问题 单项选择题

有如下程序:   #include   usingnamespacestd;   intmain()   {   int*P;   *P=9:   cout<<"ThevalueatP:"<<*P;   return0;   }   编译运行程序将出现的情况是(  )。

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

B.运行时一定输出ThevalueatP:9

C.运行时一定输出ThevalueatP:*9

D.运行时有可能出错

答案

参考答案:D

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

问答题 简答题
单项选择题 A型题