首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序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
41
问题
给定程序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全国计算机二级
相关试题推荐
编写—个函数,其功能是:从传入的num个字符中找出最长的一个字符串,并通过形参指针max传回该串地址(用****作为结束输入的标识)。注意:部分源程序在文件PROG1.C中。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编
若有定义语句:inta=3,b=2,c=1;,以下选项中错误的赋值表达式是()。
如果定义floata[10],x;则以下叙述中正确的是
以下选项中不属于C语言程序运算符的是
下列排序方法中,最坏情况下比较次数最少的是
以下不能用于描述算法的是
层次型、网状型和关系型数据库的划分原则是()。
不合法的用户标识符是()。
以下有关宏替换的叙述不正确的是()。
按照C语言规定的用户标识符命名规则,不能出现在标识符中的是
随机试题
属于快适应感受器的是
女,左颈部肿物一年,检查见颈部中线处一2cm×3cm肿物,囊性,表面光滑,边界清楚,触之有波动感,并随吞咽上下活动。应首先考虑为()
下列有关税收立法程序的说法,正确的是()。(2011年真题)
影响资本成本的因素包括()。
下列对于陶器与瓷器的介绍,正确的是()。
材料:探究酵母菌细胞呼吸方式的改进实验:①用市场上的活性干酵母进行复水活化替换新鲜酵母;②用500mL的厚玻璃瓶和钢管替换锥形瓶和玻璃管,用带活塞的橡皮塞替换原来的橡皮塞;③放置澄清石灰水的500mL锥形瓶替换成50mL锥形瓶;④可以调节供氧速度
图像处理软件可以对图像进行各种处理,生成特殊效果。在图3中,(a)是原始图片,(b)~(f)是应用Photoshop软件处理后得到的图片。图像处理操作通常都需要事先选择一个区域,作为操作对象。①Photoshop的工具箱中专门用来选取区域的工具有哪
通常可用传输速率描述通信线路的数据传输能力,传输速率指的是()。
关系表中的每一行记录称为一个()。
例如:男:小王,帮我开一下门,好吗?谢谢!女:没问题。您去超市了?买了这么多东西。问:男的想让小王做什么?A开门√B拿东西C去超市买东西
最新回复
(
0
)