首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序 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<
有如下程序 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<
admin
2010-09-05
50
问题
有如下程序 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’; printf("%d\n",s);} 该程序的输出结果是
选项
A、69825
B、63825
C、6385
D、693825
答案
C
解析
该题稍微难一点。主要要搞清楚以下几点:①定义了一个指针数组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[1]中的内容为字符串“8254”。③程序中第二个循环中的循环体s=s*10+p
[j]-’0’;的功能是这样的,每执行一次,将s中的值乘以10(也即将s中的数值整体向左移动一位,并在空出来的个位上添一个0),再将当前p
中的字符量转换为相应的数字,然后把这个数字加到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/6aWp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
窗体上有一个名称为Text1的文本框,一个名称为Command1的命令按钮。命令按钮的单击事件过程如下:PrivateSubCommand1_Click()Dimx1AsInteger,x2AsInteger,x3AsIn
以下叙述中错误的是( )。
已知变量X、Y为整数型,且x=4,y=12,S为字符串型,且s=a,LblOk为标签控件,下列赋值语句不合法的是()。
执行语句DimX,YAsInteger后( )。
设R是一个2元关系,有3个元组,S是一个3元关系,有3个元组。如T=R×S,则T的元组的个数为()。
以下关于菜单的叙述中,错误的是( )。
对建立良好的程序设计风格,下面描述正确的是()。
要建立一个随机文件记录学生的信息,如下定义的学生记录类型,由学号、姓名和5门课程成绩(百分制)组成,下列的定义正确的是()。
数据库应用系统中的核心问题是( )。
随机试题
下列不属于必须经出席股东大会的股东所持表决权的2/3以上通过的事项是()
全口义齿侧方合时工作侧牙尖工作斜面指
开发利用水资源,应当服从()的总体安排,实行兴利与除害相结合的原则。
监理人应与()共同进行进行材料、设备的试验和工程隐蔽前的检查。
在电机干燥工作中,磁铁感应干燥法和外壳铁损干燥法应属于()。
背景资料:某建设工程有限集团公司总承包了一高级宾馆的全部施工任务。其中的土建及装修工程由本单位的下属独立法人A工程公司承担,通风与空调工程分包给了B专业承包公司上下水及消防工程分包给了C专业承包公司,建筑电气及建筑智能化工程分包给了D专业承包公司。由于工
企业的风险敞口由企业的类型决定。站在产业链的角度,企业可以分为()等基本形式。I.生产型Ⅱ.贸易型Ⅲ.加工型Ⅳ.消费型
根据企业所得税的相关规定,关于购进专用设备进行税额抵免时其投资额的确认,说法正确的有()。(2011年)
小明在相距100米的甲乙两地插彩旗,小明从甲开始往乙方向出发,每隔6米插一面绿旗,到乙地后返回甲地,每隔4米插一面黄旗,绿黄旗重复时改插一面红旗。如果不算两端彩旗,问一共有多少面红旗?()
ThethreelargestJapanesebanksare______intotheworld’slargestbankinggroup.
最新回复
(
0
)