有以下程序: #include<iostream> using namespace std; int main () { int a[]={1,2,3, 4,5, 6, 7,8,9, 10, 11, 12};

admin2010-03-29  22

问题 有以下程序:    #include<iostream>    using  namespace  std;    int main ()    {       int a[]={1,2,3, 4,5, 6, 7,8,9, 10, 11, 12};       int *p=a+5, *q=0;       *q=* (p+5);       cout<<*p<<"  "<<*q<<end1;       return 0;    }

选项 A、运行后报错
B、66
C、6 12
D、5 5

答案1

解析 本题考核指针的加减运算。程序首先定义并初始化数组a,并让定义指针 p指向数组a的第6个元素,即a[5]。程序还初始化指针q为空,即没有指向对象。那么语句“*q=*(p+5);”,就是错误的,因为指针q为空。给指针q正确的赋值语句应为:“q=p+5;”。
转载请注明原文地址:https://kaotiyun.com/show/2Xjp777K
0

最新回复(0)