有如下程序:#includevoid main( ){char ch[2] [5] ={"6937","8254"},* p[2] ;int i,

13 查阅

有如下程序: #include<iostream.h> void main( ) { char ch[2] [5] ={"6937","8254"},* p[2] ; int i,j,s=0; for(i=0;i<2;i++) p[i] =ch[i] ; for(i=0;i<2;i++) for(j=0;p[i] [j] >'\0';j+=2) s=10 * s+p[i] [j] -'0'; cout < < s;} 该程序的输出结果是

A.69825

B.63825

C.6385

D.693825

参考答案:

C解析:该题主要搞清楚以下几点:①定义了一个指针数组char * P[2] 后,程序中第一个循环for(i=0;i2;i++) p[i] =ch[i] ;的作用是使指针数组的p[0] 元素(它本身是一个指针) 指向了二维数组ch的第一行字符串,并使指针数组的p[1] 元素指向了二维数组ch的第二行字符串,这样,就使指针数组p和二维数组ch建立起了一种对应关系,以后对二维数组ch的某个元素的引用就有两种等价的形式:ch[i] [j] 或p[i] [j] 。②对二维数组ch的初始化,使其第一行ch[0] 中存

计算机二级