问题 单项选择题

犹如下程序
#include < iostream >
using namespace std;
int main()

int * p ;
*p=9;
cout <<"Thevalueatp:" << *p;
return 0 ;
编译运行程序将出现的情况是( )。

A) 编译时出现语法错误,不能生成可执行文件
B) 运行时一定输出:The value at p:9
C) 运行时一定输出:The value at p: *9
D) 运行时有可能出错

答案

参考答案:D

解析: 先定义指针变量,然后给指针变量赋初值有三种情况:①用取地址运算符“&”将变量地址赋给指针变量,如p=&a;②将一个指针变量中的地址赋给另一个指针变量,如p=p1;③给指针变量赋空值0,如q=0,表示该指针变世不指向任何变量。而不能用一个常量给指针变量赋初值,所以本题选D。

选择题
问答题