首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有以下程序 #include<stdio.h> void fun(char *a,char B) { while(*(a++)!=’\0’); while(*(a-1)<B)*(a--)=*(a-1); *(a--)=b; } main()
有以下程序 #include<stdio.h> void fun(char *a,char B) { while(*(a++)!=’\0’); while(*(a-1)<B)*(a--)=*(a-1); *(a--)=b; } main()
admin
2022-10-24
16
问题
有以下程序
#include<stdio.h>
void fun(char *a,char B)
{ while(*(a++)!=’\0’);
while(*(a-1)<B)*(a--)=*(a-1);
*(a--)=b;
}
main()
{char s[8]="pmfc",c;
e=getchar();
fun(s,c);
puts(s);
}
程序运行时输入k并按<Enter>,则输出结果为( )。
选项
A、pmfkc
B、pmfck
C、kpmfc
D、pmkfc
答案
D
解析
main函数定义一个字符数组s,使用字符串“pmfc”初始化;然后通过getchar读取一个字符k并赋给字符变量c;再将字符串s和字符c传入fun函数。函数fun首先通过while循环遍历字符串s,直到指针a指向字符串结束标识“\0”后的一个字符,如下图所示。
接着通过while循环逆序遍历字符串s,首先a-1的字符位是“\0”,它的ASCII值为0,小于b(字符k)的ASCII值107,那么将“\0”赋给下标为5的元素位置。接着继续向前遍历,同理,将c(ASCII值为99)赋给下标为4的元素位置,将f(ASCII值为102)赋给下标为3的元素位置。由于m(ASCII值为109)大于1),因此循环结束,将b赋给下标为2的元素位置。此时str字符串如下图所示。
故本题答案为D选项。
转载请注明原文地址:https://jikaoti.com/ti/hid0FFFM
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
使用VC++2010打开考生文件夹下blank1中的解决方案。此解决方案的项目中包含一个源程序文件blank1.c。在此程序中,函数fun的功能是:将N×N矩阵中元素的值按列向右移动1个位置,右边被移出矩阵的元素绕回左边第1列。例如,N=3,有下列矩
使用VC++2010打开考生文件夹下prog1中的解决方案。此解决方案的项目中包含一个源程序文件prog1.c。在此程序中,请编写一个函数voidfun(intm,intk,intxx[]),该函数的功能是:将大于整数m且紧靠m的k个素数存入所指的
使用VC++2010打开考生文件夹下prog1中的解决方案。此解决方案的项目中包含一个源程序文件prog1.c。在此程序中,请编写函数fun,其功能是:将一组得分中,去掉一个最高分和一个最低分,然后求平均值,并通过函数返回。函数形参a指向存放得分的数组,形
使用VC++2010打开考生文件夹下prog1中的解决方案。此解决方案的项目中包含一个源程序文件prog1.c。在此程序中,学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,其功能是:把低于平均分的学生数据放入b所
使用VC++2010打开考生文件夹下modi1中的解决方案。此解决方案的项目中包含一个源程序文件modi1.c。在此程序中,函数fun的功能是:对Ⅳ名学生的学习成绩,按从高到低的顺序找出前m(m≤10)名学生来,并将这些学生的数据存放在一个动态分配的连续存
以下叙述中正确的是()。
有如下程序段:intx=12;doubley=3.141593;printf("%d%8.6f",x,y);其输出结果是()。
下列特征中不是面向对象方法的主要特征的是()。
数据库管理系统是()。
关于计算机栈和队列的叙述中正确的是()。
随机试题
Familyandculturalbeliefsandnormsareimportantpredictorsofhealth-seekingbehavior.
患者全身水肿,下肢明显,按之没指,小便短少,身体困重,胸闷,纳呆,泛恶,苔白腻,脉沉缓,起病缓慢,病程较长。治当
丙酮酸氧化脱羧生成的物质是
下颌下间隙感染的来源多为A.化脓性下颌下腺炎B.淋巴结核C.下颌下淋巴结炎D.颏下间隙感染所波及E.血源性感染
()不得用于城市快速路、主干路、次干路,可用于支路的路面施工材料。
20世纪60年代,商业银行的风险管理进入()。
()是职业道德的本质特征,是社会主义职业道德的最高要求、最终目标和最高境界。
设函数z=f(x,y)的全微分为dz=xdx+ydy,则点(0,0)()
Morethanadecadeago,cognitivescientistsJohnBransfordandDanielSchwartz,boththenatVanderbiltUniversity,foundthat
TheCleanEnergyTransitionWillTransformOurEconomyBeyondRecognition[A]InNovember2013,morethan15,000scientistsr
最新回复
(
0
)