首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序 main() { char ch[2][5]={"6937","8254"},*p[2]; int i,j,s=0; for(i=0;i
有如下程序 main() { char ch[2][5]={"6937","8254"},*p[2]; int i,j,s=0; for(i=0;i
admin
2010-09-05
54
问题
有如下程序
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
[j]中的字符量转换为相应的数字,然后把这个数字加到s的个位上。④注意到内层循环的循环条件p
[j]>’\0 ’是指p
[j]中的字符只要不是字符串结束标志’\0’就继续循环,语句j+=2;是使下标j每次增加2,也即一个隔一个地从p[i]所指向的字符串中取出字符。经过上述解析后,不难看出,该程序首先从p[0]所指向的字符串"6937"中一个隔一个地取出字符,分别是’6’和’3’,然后从p[1]所指向的字符串"8254"中一个隔一个地取出字符,分别是’8’和’5’,同时经过转换和相加运算后,结果s中的值应该是6385。
转载请注明原文地址:https://kaotiyun.com/show/uSWp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
设工程文件包含两个窗体文件Form1.frm、Form2.frm及一个标准模块文件Module1.bas。两个窗体上分别只有一个名称为Command1的命令按钮。Form1的代码如下:PublicxAsIntegerPrivateSubFo
有下面程序代码:PrivateSubCommand1_Click()s=0n=1DoWhilen<3Fork=1To5Step2s=s+n
设窗体上有1个名称为HScroll1的水平滚动条,其Max、Min属性分别设置为100、1;有2个名称分别为Option1、Option2的单选按钮,其标题分别为"30"、"50";还有下面程序代码:PrivateSubOption1_Cli
下面关于命令按钮的叙述中错误的是
窗体上建立了一个名为CommonDialong1的通用对话框,用下面的语句建立一个对话框:CommonDialong1.Action=2,则以下语句与之等价的是()。
向文本框中输入字符时,下面能够被触发的事件是()。
下列叙述中错误的是()。
下列叙述中正确的是
以下叙述错误的是()。
随机试题
下列选项中不属于企业使命决策应考虑的因素的是()
8个月患儿入院,诊断急性支气管肺炎,血气分析结果:pH7.35,PaO26kPa(45mmHg),PaCO27.32kPa(55mmHg),血气分析诊断考虑为
鹅口疮的特点不包括:
耳屏前,下颌骨髁状突后缘的腧穴是()
具有温经化痰、散瘀通络功效的方剂是温阳补血、散寒通滞功效的方剂是
下列腧穴中,治疗头项强痛应首选
以下哪些行为不属于违反《反不正当竞争法》的行为?
(2008年真题)理想流体的基本特征是()。
建设单位应当自工程()之日起15日内,向工程所在地的县级以上地方人民政府建设行政主管部门备案。
1996年财政部为了规范企业会计电算化专门制定了()。
最新回复
(
0
)