下列程序的输出结果是______。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'; printf("%d\n",s);}A.69825B.63825C.6385D.693825

题目

下列程序的输出结果是______。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'; printf("%d\n",s);}

A.69825

B.63825

C.6385

D.693825


相似考题
更多“下列程序的输出结果是______。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'; printf("%d\n",s);}A.69825B.63825C.6385D.693825”相关问题
  • 第1题:

    下列程序的输出结果是( ) main() { char ch [2][5]={"6934","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'&&p[i][j]<='9';j+=2) s=10*s+p[i][j]-'0'; printf("%d\n",s); }

    A.6385

    B.69825

    C.63825

    D.693825


    正确答案:A

  • 第2题:

    有如下程序 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'); printf("%d\n",s); } 该程序的输出结果是_____。

    A.69825

    B.63825

    C.6385

    D.693825


    正确答案:C
    解析:本题“ch[2][5]={"6937","8254"}”用于2行5列的二维数组初始化,ch[0][0]-ch[0][4]的值分别为:6,9,3,7,\0;ch[1][0]-ch[1][4]的值分别为:8,2,5,4,\0:第一个for循环用于将数组指针分别指向二给数组的第一行和第二行;第二个for嵌套循环用于取出p[0][0],p[0][2],p[1][0],p[1][2]四个存储单元的数组成一个四位数进行输出。

  • 第3题:

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

    有如下程序: #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] 中存入了字符串“6937”,第二行ch[1] 中的内容为字符串“8254”。③程序中第二个循环中的循环体s=s * 10+p[i] [j] -'0';的功能是这样的,每执行一次,将s中的值乘以10(也即,将s中的数值整体向左移动一位,并在空出来的个位上添一个0) ,再将当前P[i] [j] 中的字符量转换为相应的数字,然后把这个数字加到s的个位上。④注意到内层循环的循环条件 p[i] [j] >'\0'是指p[i] [j] 中的字符只要不是字符串结束标志'\0'就继续循环,语句j+=2;是使下标j每次增加2,也即一个隔一个地从p[i] 所指向的字符串中取出字符。经过上述解析后,不难看出,该程序首先从 P[0] 所指向的字符串“6937”中一个隔一个地取出字符,分别是“6”和“3”,然后从p[1] 所指向的字符串“8254”中一个隔一个地取出字符,分别是“8”和“5”,同时经过转换和相加运算后,结果s中的值应该是6385。

  • 第4题:

    以下程序运行后,输出结果是 ( ) main( ) {char ch[2][5]={"693","825"},*p[2]; int i,j,s=0; for(i=0;i<2;i+ +)p[i]=ch[i]; for(j=0;j<2;j+ +) for(j=0;p[i][j]>='0'& & p[i][j]<='9';j+=2) s=10 * s+p[i][j]-'0'; printf("%d\n",s); }

    A.6385

    B.22

    C.33

    D.693825


    正确答案:A

  • 第5题:

    以下程序的输出结果是______。 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'; printf("%d\n",s); }

    A.69825

    B.59713

    C.6385

    D.693825


    正确答案:C
    解析:p是指向字符的指针数组。执行第1个循环后,p[0]指向字符数组ch的第1行"6937",p[1]指向字符数组ch的第2行"8254",那么p[0][0]其实就对应着ch[0][0],表示第1行的第1个元素“6”。第2个循环中,外层i循环是控制指针数组p的,内层j循环则是对每一行内的各个元素进行处理,特别注意循环变量j的改变"j+=2"。这样就可以看出是对ch[0][0]、ch[0][2]、ch[1][0]和ch[1][2]进行处理。

  • 第6题:

    有如下程序 main() { char ch[2][5]={"6937","8254"},*p[2]; int i,j,s=0; for(i=0;i<2;++)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'; printf("%d\n",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]中存入了字符串“693

  • 第7题:

    下列程序的输出结果是()。includemain() {char ch[2][5]={"1234","5678"},*p[2];int i,

    下列程序的输出结果是( )。 #include<stdio.h> main() { char ch[2][5]={"1234","5678"},*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=p[i][j]-'0'; printf("%d",s);} }

    A.6357

    B.6135

    C.1357

    D.691357


    正确答案:C
    解析:本题先将指针P指向二维数组ch[2][5],相当于p[0]="1234",p[1]="5678",通过双重for循环,是要将p中的字符隔一个输出一个,通过s=p[i][j]-'0'这条语句是将所要输出的字符转换成相应的十进制数。

  • 第8题:

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

    有如下程序 #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; return 0; } 该程序的输出结果是( )。

    A.69825

    B.63825

    C.6385

    D.693825


    正确答案:C

  • 第9题:

    有如下程序: 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'; printf("%d\n",S); } 该程序的输出结果是( )。

    A.69825

    B.63825

    C.693825

    D.6385


    正确答案:D
    解析:“for(i=0;i2;i++)p[i]=ch[i];”是将字符串"6937"和"8254"的首地址分别赋给指针数组p的两个元素。下面的for循环嵌套是取二维字符数组ch偶数列上的数字字符,将它们组成一个数。所以选项D符合题意。

  • 第10题:

    有如下程序includevoid main(){charch [2][5]={"6937","8254"},*p[2]; int i,j,s=0

    有如下程序 #include<iostream.h> void main() { charch [2][5]={"6937","8254"},*p[2]; int i,j,s=0; for(i=0;i<2;i++)p[i]=ch[i]; for(i=0;<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]元素指向了二维数组汕的第二行字符中。这样,就使指针数组p和二维数组ch建立起了一种对应关系,以后对二维数组ch的某个元素的引用就有两种等价的形式:ch[i][j]或p[i][j]。②对二维数组ch的初始化,使其第一行ch[0]中存入了字符串"6937’’,第二行ch[1]中的内容为字符串“8254”。③程序中第二个循环中的循环体s=s*10+p[i][j]-’0’;的功能是这样的,每执行一次,将s中的值乘以10(也即,将s中的数值整体向左移动一位,并在空出来的个位上添一个0),再将当前P[i][j]中的字符量转换为相应的数字,然后把这个数字加到s的个位上④注意到内层循环的循环条件P[i][j]>’\0’,是指p[i][j]中的字符只要不是字符串结束标志’\0’就继续循环,语句。j+2;是使下标.j每次增加2,也即一个隔一个地从p[i]所指向的字符串中取出字符。经过上述解析后,不难看出,该程序首先从P[0]所指向的字符申“6937’’中一个隔一个地取出字符,分别是“6”和“3”,然后从p[1]所指向的字符串“8254’’中一个隔一个地取出字符,分别是“8”和“5”,同时经过转换和相加运算后,结果s中的值应该是6385。

  • 第11题:

    有如下程序:include<iostream.h>voidmain(){charch[2][5]={"6937","8254&q

    有如下程序:

    include<iostream.h>

    voidmain()

    {charch[2][5]={"6937","8254"),*p[2];

    inti,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

    C。【解析】该题需要搞清楚以下几点:④定义了一个指针数组char*p[2]后,程序中第一个循环“for(i=0;i(2;i++)p[i]=ch[i]”的作用是使指针数组的p[0]元素(它本身是一个指针)指向了二维数组ch的第一行字符串,并使指针数组的p[1]元素指向了二维数组ch的第二行字符串,这样,就使指针数组P和二维数组ch建立起了一种对应关系,以后对二维数组ch的某个元素的引用就有两种等价的形式:ch[i][j]或p[i][j]。②对二维数组ch的初始化,使其第一行ch[0]中存入了字符串“6937”,第二行ch[1]中的内容为字符串“8254”。③程序中第二个循环中的循环体“s=s*10+p[i][j]-0”的功能是这样的,每执行一次,将s中的值乘以10(即将s中的数值整体向左移动一位,并在空出来的个位上添一个0),再将当前p[i][i]中的字符量转换为相应的数字,然后把这个数字加到s的个位上。④注意到内层循环的循环条件p[i][j]>\0是指p[i][j]中的字符只要不是字符串结束标志\0就继续循环,语句j+=2;是使下标j每次增加2,即一个隔一个地从p[i]所指向的字符串中取出字符。经过上述解析后,不难看出,该程序首先从p[0]所指向的字符串“6937”中一个隔一个地取出字符,分别是“6”和“3”,然后从p[1]所指向的字符串“8254”中一个隔一个地取出字符,分别是“8”和“5”,同时经过转换和相加运算后,结果s中的值应该是6385。

  • 第12题:

    单选题
    有以下程序 #include  main() {  char c[2][5]={6938,8254},*p[2];  int i,j,s=0;  for(i=0;i<2;i++)   p[i]=c[i];  for(i=0;i<2;i++)   for(j=0;p[i][j]>0;j+=2)    s=10*s+p[i][j]-'0';  printf(%d,s); } 程序运行后的输出结果是(  )。
    A

    9284

    B

    9824

    C

    6982

    D

    6385


    正确答案: B
    解析:
    p定义了两个字符串指针,p[0]指向c[0],p[1]指向c[1]。所以,p[i][j]等价于c[i][j],s = 10*s+ p[i][j]- '0',作用是把字符串p[i]转化成10进制数,注意到内层循环中j+=2,结果取c[0]中的第0个,第2个元素,取c[1]中的第0个,第2个元素。i=0时,输出63;i=1时,输出85。答案选择D选项。

  • 第13题:

    有如下程序 #include(iostream.h> voidmain( ) {charch[2][5]={"6937","8254"),*p[2]; inti,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
    C。【解析】该题主要要搞清楚以下几点:①定义了一个指针数组char*p[2]后,程序中第一个循环“for(i=0;i(2;i++)p[i]=ch[i]”的作用是使指针数组的p[0]元素(它本身是一个指针)指向了二维数组ch的第一行字符串,并使指针数组的p[1]元素指向了二维数组ch的第二行字符串,这样,就使指针数组P和二维数组ch建立起了一种对应关系,以后对二维数组ch的某个元素的引用就有两种等价的形式:ch[i][j]或p[i][j]。②对二维数组ch的初始化,使其第一行ch[0]中存入了字符串“6937”,第二行ch[1]中的内容为字符串“8254”。③程序中第二个循环中的循环体“s=s*10+p[i][j]-0”的功能是这样的,每执行一次,将s中的值乘以10(即将s中的数值整体向左移动一位,并在空出来的个位上添一个0),再将当前p[i][j]中的字符量转换为相应的数字,然后把这个数字加到s的个位上。④注意到内层循环的循环条件p[i][3]>\0是指p[i][j]中的字符只要不是字符串结束标志\0就继续循环,语句j+=2;是使下标j每次增加2,即一个隔一个地从p[i]所指向的字符串中取出字符。经过上述解析后,不难看出,该程序首先从p[0]所指向的字符串“6937”中一个隔一个地取出字符,分别是“6”和“3”,然后从p[1]所指向的字符串“8254”中一个隔一个地取出字符,分别是“8”和“5”,同时经过转换和相加运算后,结果s中的值应该是6385。

  • 第14题:

    如下程序的输出结果是includemain(){chsr ch[2][5]={"6937","8254"},*p[2];int i,j,s=

    如下程序的输出结果是 #include<stdio.h> main() { chsr 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' printf("%d\n",s);}

    A.69825

    B.63825

    C.6385

    D.693825


    正确答案:C

  • 第15题:

    有如下程序 gincludevoid main(){char ch[2] [5]={”6937","8254"),*p[2];int i,j,S

    有如下程序 #ginclude<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

  • 第16题:

    如下程序:includevoid main(){char str[2][5]={"1234","5678"),*p[2];int i,j,s=0;

    如下程序: #include<iostream.h> void main() { char str[2][5]={"1234","5678"),*p[2]; int i,j,s=0; for(i=0;i<2;i++)p[i]=str[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.1357

    B.2468

    C.3556

    D.23678


    正确答案:A
    解析:程序中的“for(i=0;i2;i++)p[i]=str[i];”语句将str中的值赋值给指针数组p。在接下来的二重for循环中,跳取“j+=2”,p指针指向的值即“1”,“3”,“5”,“7”。在分别对字符到整型的转换,即减去字符‘0’,然后依次转换为千位,百位,十位,个位“10%”操作输出接型s,即“1357”。

  • 第17题:

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

    有如下程序 #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';

    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]中存入了字符串“6937”,第二行ch[l]中的内容为字符串“8254”。③程序中第二个循环中的循环体s=s*10+p[i][j]-'0';的功能是这样的,每执行一次,将s中的值乘以10(也即,将s中的数值整体向左移动一位,并在空出来的个位上添一个o),再将当前P[i][j]中的字符量转换为相应的数字,然后把这个数字加到s的个位上。④注意到内层循环的循环条件
    p[i][j]>'\0'是指p[i][j]中的字符只要不是字符串结束标志'\0'就继续循环,语句j+=2;是使下标j每次增加2,也即一个隔一个地从p[i]所指向的字符串中取出字符。经过上述解析后,不难看出,该程序首先从p [0]所指向的字符串“6937”中一个隔一个地取出字符,分别是“6”和“3”,然后从p[1]所指向的字符串“8254”中一个隔一个地取出字符,分别是“8”和“5”,同时经过转换和相加运算后,结果s中的值应该是6385。

  • 第18题:

    下列程序运行后,输出结果是______。main(){ char ch[2][5]={"693","825"),*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' &&p[i][j]<='9';j+=2) s=10*s+p[i][j]-'0'; printf("%d\n",s);}

    A.6385

    B.22

    C.33

    D.693825


    正确答案:A

  • 第19题:

    有如下程序: 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]!='\O';j+=2) s=10*s+p[i][j]-'0'; printf("%d\n",s);} 该程序的输出结果是______。

    A.69825

    B.63825

    C.6385

    D.693825


    正确答案:C

  • 第20题:

    如下程序的输出结果是includemain(){ char ch[2)[5]={"6937","8254"},*p[2];int i,j,s

    如下程序的输出结果是 #include<stdio.h> 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'; printf("%d\n",s);}

    A.69825

    B.63825

    C.6385

    D.693825


    正确答案:C
    解析:通过行指针p来实现数组元素的引用。注意:用格式说明符%s进行整串输入与输出。

  • 第21题:

    以下程序运行后,输出结果是______。 main() {char ch[2][5]={"693","825"},*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'&&p[i][j]<='9';j+=2) s=10*s+p[i][j]-'0'; printf("%d\n",s); }

    A.6385

    B.22

    C.33

    D.693825


    正确答案:A

  • 第22题:

    下述程序的输出结果是( )。

    #include<stdio.h>

    main

    { char ch[2][5]-{”1234”,”5678”},*p[2];

    int i,j,s=0;

    for(i=0;i<2;i++)

    p[i]=ch[i];

    for(j=0;j<2;j++)

    { s=p[i][j]一'0';

    printf("%d",s);}

    }

    A.6357

    B.6135

    C.1357

    D.691357


    正确答案:C
    本题先将指针P指向二维数组ch[2][5],相当于p[0]="1234",p[1]="5678";通过双重for循环,将P中的字符隔一个输出一个,通过“s=p[i][j]-'0';”语句将所要输出的字符#换成相应的十进制数。

  • 第23题:

    下列程序的输出结果是()。 inClude main() {charch[2][5]={"1234","5678"},*p[2]; int

    下列程序的输出结果是( )。

    #inClude<stdio.h>

    main()

    { charch[2][5]={"1234","5678"},*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=p[i][j]-'0';

    printf("%d",s);}

    }

    A.6357

    B.6135

    C.1357

    D.691357


    正确答案:C
    解析:本题先将指针p指向二维数组ch[2][5],相当于p[0]="1234",p[1]="5678",通过双重for循环,是要将p中的字符隔一个输出一个,通过s=p[i][j]-'0'这条语句是将所要输出的字符转换成相应的+进制数。