首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序 #include<iostream.h> void 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;
admin
2010-03-29
23
问题
有如下程序 #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
答案
4
解析
该题主要要搞清楚以下几点:
①定义了一个指针数组char*p[2]后,程序中第一个循环for(i=0;i<2;i++)p
=ch
;的作用是使指针数组的P[0]元素(它本身是一个指针)指向了二维数组ch的第一行字符串,并使指针数组的p[1]元素指向了二维数组ch的第二行字符串,这样,就使指针数组p和二维数组ch建立起了一种对应关系,以后对二维数组ch的某个元素的引用就有两种等价的形式: ch
[j]或p
[j]。②对二维数组ch的初始化,使其第一行ch[0]中存入了字符串“6937”,第二行ch[l]中的内容为字符串“8254”。③程序中第二个循环中的循环体s=s*10+p
[j]-’0’;的功能是这样的,每执行一次,将s中的值乘以10(也即,将s中的数值整体向左移动一位,并在空出来的个位上添一个o),再将当前P
[j]中的字符量转换为相应的数字,然后把这个数字加到s的个位上。④注意到内层循环的循环条件
p
[j]>’\0’是指p
[j]中的字符只要不是字符串结束标志’\0’就继续循环,语句j+=2;是使下标j每次增加2,也即一个隔一个地从p
所指向的字符串中取出字符。经过上述解析后,不难看出,该程序首先从p [0]所指向的字符串“6937”中一个隔一个地取出字符,分别是“6”和“3”,然后从p[1]所指向的字符串“8254”中一个隔一个地取出字符,分别是“8”和“5”,同时经过转换和相加运算后,结果s中的值应该是6385。
转载请注明原文地址:https://kaotiyun.com/show/Fhjp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有以下程序main(){chara,b,c,d;scanf("%c%c",&a,&b);c=getchar();d=getchar();printf("%c%c%c%c\n",a,b,c,d);}当执行程
有以下程序#includevoidfun(char*p,intn){charb[6]="abcde";inti;for(i=0,p=b;i<n;i++)p[i]=b[i];}main(){char
下列数据结构中,能够按照“先进先出”原则存取数据的是()。
若有定义:doublea=22;inti=0,k=18;,则不符合C语言规定的赋值语句是()。
已有定义:chara[]="xyz",b[]={’x’,’y’,’z’};,以下叙述中正确的是
有以下程序,程序中库函数islower(ch)用以判断ch中的字母是否为小写字母#include<stdio.h>#include<ctype.h>voidfun(char*p){inti=0;while(p[i]){if
在关系中凡能惟一标识元组的最小属性集称为该表的键或码。二维表中可能有若干个键,它们称为该表的()。
随机试题
如果边际曲线在其对应的平均曲线下方,那么,平均曲线一定是()
男性,32岁,发作性心悸3年,每次均有突然发作,突然终止现象。1小时前又突发心悸。心电图示心率160次/分,QRS波群规则、形态正常,QRS波群后可见P’波,RP’间期约80ms,按压颈动脉窦可使心率减慢至150次/分。经食管心房调搏,发现该患者存在房
全身“元气”和“水液”运行的通道是
女性,28岁,拟采用皮下埋植避孕,手术前不需要哪项准备
患者,女,48岁。近2年来出现关节炎症状和尿路结石,进食肉类食物时,病情加重。该患者发生的疾病涉及的代谢途径是
描述前馈控制系统不正确的是()。
关于矿井涌水量监测工作的要求,说法正确的是()。
路基高度设计,应同时考虑()的作用,使其不影响路基的强度和稳定性。
Whatarespeakersmainlydiscussing?
A、Givingemployeesmoreflexibility.B、Showingmoreconcernstoemployees’wellbeing.C、Improvingthecooperationamongemployee
最新回复
(
0
)