首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序 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++)
有如下程序 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++)
admin
2009-02-15
21
问题
有如下程序 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
答案
4
解析
该题稍微难一点。主要要搞清楚以下几点: ①定义了一个指针数组char.p[2]后,程序中第一个循环for(i=0;i<2;i++)p
=ch
;的作用,是使指针数组的p[0]元素(它本身是一个指针)指向了二维数组ch的第一行字符串,并使指针数组的p11)元素指向了二维数组ch的第二行字符串,这样,就使指针数组p和二维数组ch建立起了一种对应关系,以后对二维数组ch的某个元素的引用就有两种等价的形式: ch
[j]或p
[j]。②对二维数组ch的初始化,使其第一行ch[0]中存入了字符串"6937",第二行ch[1]中的内容为字符串"8254"。③程序中第二个循环中的循环体s=e*10+p
[j]-‘0’;的功能是这样的,每执行一次,将s中的值乘以10(也即,将s中的数值整体向左移动一位,并在空出来的个位上添一个0),再将当前 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,所以,正确答案是C)。
转载请注明原文地址:https://jikaoti.com/ti/jEK0FFFM
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
下列关于通用对话框CommonDialogl的叙述中,错误的是()。
下列有关文件的叙述中,正确的是()。
以下变量名中合法的是()。
已知列表框控件List1中已放入若干表项,下列关于List1的叙述中错误的是()。
下面可以作为软件需求分析工具的是()。
下列程序段的输出结果是()。x=5Printx+1;x+1
下列数组定义中错误的是()。
设变量x的值是845,则下面语句的输出是()。Printx\100+(xMod100)\10+xMod10
设工程文件包含两个窗体文件Form1.frm、Form2.frm及一个标准模块文件Module1.bas。两个窗体上分别只有一个名称为Command1的命令按钮。Form1的代码如下:PublicxAsIntegerPrivmeSubFo
在程序中要使用Array函数给数组arr赋初值,则以下数组变量定义语句中错误的是
随机试题
牡丹皮根据采收加工方法的不同,可分为
为便于仓库管理,要对不同形态的出版物进行()。
关于等渗性失水的补液原则,下列错误的是
《金匮要略》妊娠呕吐谓之
某施工单位承建一项大型工业安装工程项目。其中某单位工程由三个主要分部工程和一个一般分部工程组成。该施工单位项目部在进行工程质量检验评定时有以下情况:情况一:在进行分项工程质量检验评定时,由专职质量检查员负责进行评定,核定等级由监理工程师负责进行。
配送是一种“中转”形式。配送是从物流结点到用户的一种送货形式。()
科举制度创立于()。
如果一鱼塘安装了机械充气机,鱼塘中的水就能保持合适的含氧量。所以,既然约翰的鱼塘没有安装机械充气机,那么他的鱼塘的含氧量一定不合适。没有合适含氧量的水,鱼儿就不能生气勃勃地发育成长。所以,约翰鱼塘里的鱼不会蓬勃地生长。下面哪个论证含有以上论证中的一个推理错
设工程中有Form1、Form2两个窗体,要求单击Form2上的Command1命令按钮,Form2就可以从屏幕上消失,下面的事件过程中不能实现此功能的是
Inrecentyears,researcheshavesuggestedmorehealthvaluefromvitaminDthanhadoncebeenthought.VitaminDis【C1】___
最新回复
(
0
)