首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序 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
84
问题
有如下程序 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全国计算机二级
相关试题推荐
以下叙述中错误的是( )。
以下关于命令按钮的叙述中正确的是( )。
下列程序段不正确的是()。
设有如图所示窗体和以下程序:PrivateSubCommand1_Click() Text1.Text="VisualBasic"EndSubPrivateSubText1_LostFocus() IfText1.Text"B
在窗体上画一个文本框(名称为Text1)和一个标签(名称为Label1),程序运行后,在文本框中每输入一个字符,都会立即在标签中显示文本框中字符的个数。以下可以实现上述操作的事件过程是( )。
层次型、网状型和关系型数据库划分原则是( )。
下列叙述中正确的是()。
为了使窗体的大小可以改变,必须把它的BorderStyle属性设置为()。
随机试题
在学校,体现国家意志的课程是()。
在PowerPoint2003中,如果要改变幻灯片的大小和方向,可以选择______命令。
A.小茴香B.木香C.两者都选D.两者都不选天台乌药散的药物组成中有
患者女,初产妇。宫内妊娠37周,胎膜早破超过3天,原发性宫缩乏力,宫口扩张缓慢,体温连续两次38℃以上,宫缩间歇宫底压痛明显,疑有宫内感染,拟行剖宫产术。适宜的剖宫产手术方式是
某男,37岁,咳嗽痰多,胸闷气急,证属痰气阻肺,宜选用()。
项目施工安全管理中,()对本工程项目的安全生产负全面领导责任。
下列各项中,属于会计职业道德的外在教育的是()。
司马迁心胸开阔,不带成见,是个严格的史学家,而不是儒教的提倡者,在议题上他采取________的态度。他极度崇敬孔子,但他不是个________的孔门信徒。他所描绘的孔子是个人,而不是个圣人。填入画横线部分最恰当的一项是:
下列关于信息认证的叙述中,不正确的是______。
如果将窗体背景图片存储到数据库文件中,则在“图片类型”属性框中应指定______方式。
最新回复
(
0
)