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

admin2021-02-22  28

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

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

答案D

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

最新回复(0)