首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有以下程序 #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
45
问题
有以下程序
#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://kaotiyun.com/show/fDkp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
使用VC++2010打开考生文件夹下blank1中的解决方案。此解决方案的项目中包含一个源程序文件blank1.c。在此程序中,通过定义学生结构体数组,存储若干名学生的学号、姓名和三门课的成绩。函数fun的功能是:将存放学生数据的结构体数组,按姓名的字典序
使用VC++2010打开考生文件夹下progl中的解决方案。此解决方案的项目中包含一个源程序文件progl.c。在此程序中,定义了N×N的二维数组,并在主函数中赋值。请编写函数fun,函数的功能是:求出数组周边元素的平均值并作为函数值返回给主函数中的s。例
使用VC++2010打开考生文件夹下modi1中的解决方案。此解决方案的项目中包含一个源程序文件modi1.c。在此程序中,函数fun的功能是:首先把b所指字符串中的字符按逆序存放,然后将a所指字符串中的字符和b所指字符串中的字符,按排列的顺序交叉合并到e
有以下程序#include<stdio.h>#include<string.h>char*a="you";char*b="WelcomeyoutoBeijing!";main(){char*p;p=b;
下列叙述中错误的是()。
下列二维数组初始化语句中,正确且与语句inta[][3]={1,2,3,4,5}等价的是()。
设某二叉树的后序序列为CBA,中序序列为ABC,则该二叉树的前序序列为()。
有如下程序#include<stdio.h>intchange(int*data){return(*data)++;}main(){intdata=123;change(&data);p
构成计算机软件的是
数据库管理系统是()。
随机试题
学前儿童家长教育能力
盐酸溴己新应何种条件下保存
RPI卡环组中使用近中支托的主要目的是
临床疑诊自发性气胸患者,应首选的检查方法是
A.青风藤B.臭梧桐C.雷公藤D.防己E.五加皮性寒,善治风湿热痹的是()。
对借款人的贷后监控包括()。
材料:一天早上,陈一航蹦蹦跳跳地走进教室,在搬椅子时,他发现旁边小朋友的椅子上有一本书没有收好,便大声喊道:“余老师,这儿有一本书没有收。”余老师笑着说:“那就请你把它送回去,好吗?”他高兴地把书拿往图书角。由于陈一航平时吃饭、睡觉、上课、活动无一不
班集体形成的条件和前进的动力是班主任的要求。()
[*]
运算器的组成部分不包括
最新回复
(
0
)