首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序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
69
问题
给定程序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,其功能是:计算n门课程的平均分,结果作为函数值返回。例如,若有5门课程的成绩是:90.5,72,80,61.5,55,则函数的值为71.80。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括
编写函数fun,其功能是:将两个两位数的正整数a、b合并成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在e数的个位和百位上,b数的十位和个位数依次放在c数的十位和千位上。例如,当a=45,b=12时,调用该函数后c=2514。注意:部分源
若有定义语句:inta=3,b=2,c=1;,以下选项中错误的赋值表达式是()。
有以下程序:#include<stdio.h>main(){intc;while((c=getchar0)!=’\n’){switch(c-’3’){case0:ca
以下叙述中正确的是
若变量均已正确定义并赋值,以下合法的C语言赋值语句是
以下程序依次把从终端输入的字符存放到f文件中,用#作为结束输入的标志,则在横线处应填入的选项是#include<stdio.h>main(){FILE*fp;charch;f
以下叙述中正确的是
以下选项中正确的定义语句是
以下选项中,能用作用户标识符的是()。【09年9月】
随机试题
Happinesscanbedescribedasapositivemoodandapleasantstateofmind.Accordingtorecentpolls(民意测试),sixtytoseventype
A.睑板腺感染B.睫毛毛囊及其附属感染C.无菌性肉芽肿型炎症D.维生素B2缺乏E.皮脂腺溢出眦部睑缘炎
下列提法不正确的是:
根据《中华人民共和国物权法》的规定,债务人或者第三人有权将()出质。
下列关于认股权证和以股票为标的物的看涨期权的表述中,正确的有()。
北京史家胡同小学开展“小博士”工程,利用课余时间,少则两周,多则三四个月,自己研究探索一个专题或完成一部童话作品。此活动的开展体现了()。
个性结构中最活跃的因素是指()
发起者无须花钱,在某种出版媒体上发布重要商业新闻,或者在广播、电视中和银幕、舞台上获得有利的报道、展示、演出用这种非人员形式来刺激目标顾客对某种产品、服务或商业单位的需求。这种销售策略是()。
Thenewspaperreport______withtheaccountoftheaccidentontheradio.
IntheUnitedStates,whenyougetyourpaycheckattheendofthefirstpayperiodatanewjob,it’salwaysinterestingtosee
最新回复
(
0
)