首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include void main() {char chE2][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++) for(
有如下程序: #include void main() {char chE2][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++) for(
admin
2021-09-05
43
问题
有如下程序:
#include
void main()
{char chE2][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<
该程序的输出结果是( )。
选项
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
所指向的字符串中取出字符。经过上述解析后,不难看出,该程序首先从p[0]所指向的字符串“6937”中一个隔一个地取出字符,分别是“6”和“3”,然后从p[1]所指向的字符串“8254”中一个隔一个地取出字符,分别是“8”和“5”,同时经过转换和相加运算后,结果s中的值应该是6385。
转载请注明原文地址:https://www.kaotiyun.com/show/Co5p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下程序:#includeusingnamespacestd;className{charname[20];public:Name(){strcpy(name,
下列运算符中,不能被重载的是()。
下列字符串中,正确的C++标识符是()。
下列选项可以做C++标识符的是()。
在类中重载赋值运算符时,应将其声明为类的()。
下列关于派生类的叙述中,错误的是()。
下列函数原型声明中,错误的是()。
在E-R图中,用来表示实体联系的图形是
一个工作人员可使用多台计算机,而一台计算机被多个人使用,则实体工作人员与实体计算机之间的联系是()。
随机试题
下列不符合恶性纤维组织细胞瘤的描述是
最有利于协助判断性情变化原因的检查是有助于精神症状缓解的治疗不包括
清肺热,养肺阴宜用敛肺生津宜用
慢性肝炎是指肝发生炎症及肝细胞坏死持续
A.神经官能症B.左心衰竭C.喘息型慢性支气管炎D.气胸E.喉水肿呼气性呼吸困难
根据《环境影响评价技术导则一总纲》,哪些项目需进行资源利用合理性分析。()
防止引燃煤尘爆炸的措施有()。
某高校副校长对学生说:“看到老人摔倒了你就去扶。他要是讹你,法律系给你提供法律援助。要是败诉了。学校替你赔偿!”这段话得到广大网友的力挺,并在网络上迅速蹿红,被称为“撑腰体”。请你谈谈对于“撑腰体”蹿红这一现象的看法o
计算机中所有信息的存储都采用
DWINDLE:
最新回复
(
0
)