首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序MODI1.C中函数fun的功能是:逐个比较p、q所指两个字符串对应位置中的字符,把ASCII值大或相等的字符依次存放到c所指数组中,形成一个新的字符串。 例如,若主函数中a字符串为:aBCDeFgH,主函数中b字符串为:ABcd,则c中的
给定程序MODI1.C中函数fun的功能是:逐个比较p、q所指两个字符串对应位置中的字符,把ASCII值大或相等的字符依次存放到c所指数组中,形成一个新的字符串。 例如,若主函数中a字符串为:aBCDeFgH,主函数中b字符串为:ABcd,则c中的
admin
2020-01-10
62
问题
给定程序MODI1.C中函数fun的功能是:逐个比较p、q所指两个字符串对应位置中的字符,把ASCII值大或相等的字符依次存放到c所指数组中,形成一个新的字符串。
例如,若主函数中a字符串为:aBCDeFgH,主函数中b字符串为:ABcd,则c中的字符串应为:aBcdeFgH。
请改正程序中的错误,使它能得出正确结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
#include
#include
void fun(char *p,char *q,char *c)
{
int k= 1;
while (*p != *q )
else c [k]=*p;
k++;
}}
main ()
{ char a [10]="aBCDeFgH",
fun (a,b,c) ;
printf ("The string a: ") ; puts (a) ;
printf ("The string b:") ; puts (b) ;
printf ("The result: ") ; puts (c) ;
}
选项
答案
(1) int k—1改为int k=0; (2) (* p!=* q)改为( *p || *q);
解析
本题中函数fun的功能是:逐个比较p、q所指两个字符串对应位置中的字符,把ASCII值大或相等的字符依次存放到c所指数组中,形成一个新的字符串。While循环为字符串比较的提供前提条件,然后再比较得到p、q两个字符串一一对应的符合条件中可用的一个字符,最终合并得到新的字符串c。
(1)第一个错误在fun函数最开始定义的k的初始值。根据fun函数的功能我们可以知道这里k是新字符串c各字符的位置,然后根据比较结果一一对应新字符串个位置的字符。这里犯了一个明显的错误就是:从字符串的第一个字符比较,得到的第一个字符在字符串中的位置不是c[1]而是c[0],所以k的初始值不是1,而是0。所以这里第一个改错是将1改为0。
第二个错误在while循环的条件表达式,我们要知道的是while循环条件和if循环条件的区别。if的条件为开始条件,即符合这条件开始循环,而这里while的循环条件则是为终止条件,意思是下面括号内的循环进行到不符合while条件语句时终止,所以这里很明显错误,如果是这种条件的只要两个字符串中出现相同的字符即终止,以例子来说就是到第二个字符比较久终止,很明显不符合题意。所以为了完全比较这两个字符串,给出的终止条件应该是到两个字符串都结束,即两个字符串字符都为“’\0’”时终止,所以终止条件应该为“*p||*q”。
字符串、while语句循环。
转载请注明原文地址:https://kaotiyun.com/show/jTCp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
给定程序中,函数fun的作用是:不断从终端读入整数,由变量a统计大于0的个数,用变量c来统计小于0的个数,当输入0时结束输入,并通过形参pa和pb把统计的数据传回主函数进行输出。请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。注意
下列给定程序中,函数fun的功能是:将形参s所指字符串中下标为奇数的字符按ASCII码大小递增排序,并将排序后下标为奇数的字符取出,存入形参P所指字符数组中,形成一个新串。例如,形参s所指的字符为“baawrskjghzlicda”,执行后P所指字符数组
下列给定程序中,函数fun的功能是:计算如下公式前n项的和,并作为函数值返回。例如,当形参n的值为10时,函数返回值为9.612558。请在程序的下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。注意:部分源程序给出如下。不得增行或删行
给定程序中,函数fun的功能是将a和b所指的两个字符串分别转换成面值相同的整数,并进行相加作为函数值返回,规定字符串中只含9个以下数字字符。例如,主函数中输入字符串”32486”和”12345”,在主函数中输出的函数值为44831。请在程序的下画线处填
对序线性表(23,29,34,55,60,70,78)用二分法查找值为60的元素时,需要比较次数为()。
关系表中的每一行记录称为一个()。
以下函数按每行8个输出数组中的数据:voidfun(int*w,intn){inti;for(i=0;i<n;i++){_______________printf("%d",w
以下关于逻辑运算符两侧运算对象的叙述中正确的是
设序列长度为n,在最坏情况下,时间复杂度为O(10g2n)的算法是()。
在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是()。
随机试题
下列叙述中,正确的是____________。
女性,80岁。3天来发现巩膜黄染、皮肤瘙痒,来院就诊。(2014年第111题)为了解黄疸性质,下列检查项目中最有意义的是
以下何组穴位均在头面部
患者女,35岁,职员。因双肘、胸、手指近端指间关节肿痛2年。加重2周,以类风湿关节炎收入院,医嘱给予泼尼松、布洛芬和青霉胺等药物治疗。现患者诉恶心、反酸和胃部不适。护士向患者解释引起此症状的原因最可能是()。
某二级公路路基压实施工中,用灌砂法测定压实度,测得灌砂筒内量砂质量为5820g,填满标定罐所需砂的质量为3885g,测定砂锥的质量为615g,标定罐的体积3035cm3。灌砂后称灌砂筒内剩余砂质量为1314g。试坑挖出湿土重为5867g,烘干土重为5036
依据《建设工程安全生产管理条例》的规定,施工单位的()应当对建设工程项目的安全施工负责,落实安全生产责任制度等,并根据工程的特点组织制定安全施工措施,消除安全事故隐患,及时、如实报告生产安全事故。
下列属于建设工程目标控制经济措施的是( )。
下列软件中,属于应用软件的是___________。
TeensTrytoChangetheWorldOnePurchaseataTimeWhenclassesadjournhereattheFayerweatherStreetSchool,eighth-grade
WashingtonUniversityinSaintLouis,Missouri,isamedium-sizeduniversity.Ithaseleventhousandstudents.Twelvepercentof
最新回复
(
0
)