有如下程序 #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]=c

admin2010-12-16  25

问题 有如下程序    #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=ch;    for(i=0;i(2;i++)    for(j=0;p[j]>’\0,j+=2)    s=10*s+p[j]-’0’;    cout<<s;}    该程序的输出结果是(    )。   

选项 A、69825     
B、63825
C、6385     
D、693825

答案C

解析  该题主要要搞清楚以下几点:①定义了一个指针数组char *p[2]后,程序中第一个循环{or(i=o;i<2,i++)p=ch;的作用是使指针数组的p[0]元素(它本身是一个指针)指向了二维数组ch的第一行字符串,井使指针数组的p[1]元素指向了二维数组ch的第二行字符串,这样,就使指针数组p和二维数蛆ch建立起了一种对应关系,以后对二维数组ch的某个元素的引用就有两种等价的形式;ch[j]或P[j]。②对二维数组ch的初始化,使其第一行ch[0]中存入了字符串"6937",第二
转载请注明原文地址:https://jikaoti.com/ti/L6L0FFFM
0

最新回复(0)