首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序 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
2013-02-23
47
问题
有如下程序
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/O4Pp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
设有如下程序#include<atdio.h>main(){int**k,*j,i=100;j=&i,k=&j;printf("%d\n",**k);}上述程序的输出结果是______。
软件开发的原型化方法是一种动态定义软件需求的方法,下述条件中,______是实施原型化方法所必需的。①成熟的原型化人员②快速的成型工具③需求了解的准确性
当说明一个结构体变量时,系统分配给它的内存是()。
以下不正确的定义语句是()。
某二叉树中度为2的结点有18个,则该二叉树中有【 】个叶子结点。
对于长度为n的线性表,在最坏情况下,下列各排序法所对应的比较次数中正确的是 ______。
若有如下说明:inta,b=5,*t=&a;则能完成a=b赋值功能的语句是()
若有以下定义和语句;doubler=99,*p=7;*p=r;则以下正确的叙述是()
开发软件时对提高开发人员工作效率至关重要的是()
软件开发环境是全面支持软件开发全过程的【】集合。
随机试题
简述汉字的类型。
肝素抗凝血的主要机制是
顺式作用元件
急性呼吸性酸中毒的治疗主要在于()
推荐采用照明灯具与空调风口结合的形式,以使灯具处于更好的工作状态。()
在EPC模式条件下,工程质量管理的重点是( )。
下列关于折现现金流估值法的说法错误的是()。
四川新都人()被誉为“明代著述第一人”。
Whatwastheoriginalrecord?
A、Shewitnessedanaccident.B、Sheslepttoomuchthatday.C、Sheexperiencedanearthquake.D、Shefoundsomethinghorrible.C根据
最新回复
(
0
)