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

admin2019-05-06  23

问题 有如下程序:
    #include
    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、运行时一定输出:Tbe value at p:*9
D、运行时有可能出错

答案D

解析 此题考查的是指针的使用。本题中,在给*p赋值前,指针p并没有指向一个具体的对象。此时可以通过编译,但运行时由于p中为随机值,该赋值可能会破坏内存中某个重要的地址空间的内容,导致程序出错。
转载请注明原文地址:https://kaotiyun.com/show/47Ap777K
0

最新回复(0)