首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序 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
34
问题
有如下程序
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://jikaoti.com/ti/YRB0FFFM
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
下面程序的输出结果是______。main(){doubled=3.2;intx,y;x=1.2;y=(x+3.8)/5.0;printf("%d\n",d*y);}
设有如下程序#include<atdio.h>main(){int**k,*j,i=100;j=&i,k=&j;printf("%d\n",**k);}上述程序的输出结果是______。
funl函数的调用语句为:fun1(&a,&b,&c);它将3个整数按由大到小的顺序调整后依次放入a、b、c这3个变量中,a中放最大数。voidfun2(int*x,int*y){intt;t=*x;*X=
下列程序的运行结果为【】。enumweekday{sun=7,mon=1,tue,wed,thu,fri,sat};main(){enumweekdayworkday,weekend;
指出下面不了确的赋值语句()。
在设计程序时,应采纳的原则之一是______。
若有说明:inta[][3]={1,2,3,4,5,6,7};则数组a第一维的大小是()。
用以下语句调用库函数malloc,使字符指针st指向具有11个字节的动态存储空间,请填空。st=(char*)【】;
结构化程序设计主要强调的是
十进制数555的十六进制数表示形式为______。
随机试题
对有14个数据元素的有序表a[14]进行折半查找,搜索到a[5]的关键字等于给定值,此时元素比较顺序依次为________。
领导有效性评价的核心是_________。
我国投资体制改革后,政府对企业投资的重大项目和限制类项目,从维护经济安全、合理开发利用资源、保护生态环境、优化重大布局;保障公共利益、()等方面进行核准。
简述性格的差异。
我国爱国统一战线包括()
房地产开发公司甲从他人手中购得位于市中心城市花园广场附近的一块土地,考虑到这块土地优越的地理位置,位处滨海城市的市中心繁华地带,公司建筑设计师构想以“观景”为理念设计并建造高层观景商品住宅楼,预计这批商品房建成后房价可高达1.2万元/平方米。在这块地前方是
设f(x)在区间[0,1]上连续,证明:∫01f(x)dx∫x1f(y)dy=
IloveMadonna’ssongsverymuch.Sheismy______singer.
______peoplewerekilledduringtheaircrash.
Asanexcellentshooter,Davidpracticedaimingatboth________targetsandmovingtargets.
最新回复
(
0
)