首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序 #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
28
问题
有如下程序 #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(){charc1,c2;c1=’A’+’8’一’4’:c2=’A’+’8’一’5’:Printf("%C,%d\n",c1,c2);}已知字母A的ASCII
为了避免嵌套的条件语句if-else的二义性,C语言规定:与else配对的是()。
C语言程序的模块化通过以下哪个选项来实现
有以下程序:#includemain(){char*s=“12134”:intk=0,a=0;while(s[k+1]){k++:if(k%2==0){a=a+(s[k]一’0’+1)
若在定义语句:inta,b,c,*p=&c;接着执行以下选项中的语句,则能正确执行的语句是
若有定义:doublea=22;inti=0,k=18;,则不符合C语言规定的赋值语句是()。
有以下结构体说明、变量定义和赋值语句structSTD{charname[10];intage;charsex;}s[5],*ps;ps=&s[0];则以下scanf函数调用语句有错误的是
设有课程关系模式:R(C#,Cn,T,TA)(其中,C#为课程号,Cn为课程名,T为教师名,Ta为教师地址)并且假定不同课程号可以有相同的课程名,每个课程号下只有一位任课教师,但每位教师可以有多门课程。关系R中对主属性的传递依赖为
随机试题
差压变送器在进行密封性检查时,引入额定工作压力,密封15min,在最后5min内,观察压力表压力下降值不得超过测量上限值的()。
简述感应加热的原理。
下列观念中,造成中国文化中追求和谐社会的理想主义倾向的观念是()
转让注册商标专有权的,转让人与受让人应当订立书面合同,共同向商标局提出商标转让的申请并经商标局公告。受让人享有商标专用权的起始日为()
下列选项中,符合NK/T细胞淋巴瘤叙述的是
麦角新碱不用于催产和引产的原因是( )。
下列选项中,不属于授予外观设计专利的条件的是()。
按金融商品的交割的时间,金融市场可以分为()。
甲、乙、丙、丁四个苹果,甲、乙重量之和大于丙、丁重量之和,甲、丁重量之和大于乙、丙重量之和,乙、丁重量之和大于甲、丙重量之和。问谁的重量最小?()
将考生文件夹下TAR文件夹中的文件FEN.BMP重命名为“CATE.BMP”。
最新回复
(
0
)