5、运行下面代码片段后,x和*p的结果分别是( )。
答案:D
解析:这段C++代码涉及到指针的基本操作。让我们逐步分析代码:
int x = 20; 这行代码定义了一个整型变量x并赋值为20。
int* p = &x; 这行代码定义了一个整型指针p并将其初始化为指向x的地址。
*p = *p + 2; 这行代码通过指针p来访问x的值,并将其增加2。由于*p原本是20,增加2后变为22。
在C++中,*p表示指针p所指向的值。因此,执行完*p = *p + 2; 后,x的值变为22,同时*p也等于22,因为p指向x。
所以,执行上述代码片段后,x和*p的结果都是22。