首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序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
54
问题
给定程序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的功能是重写形参filename所指文件中最后一个学生的数据,即用新的学生数据覆盖该学生原来的数据,其他学生的数据不变。请在程序的下画线处
给定程序中,函数fun的功能是:找出形参s所指字符串中出现频率最高的字母(不区分大小写),并统计出其出现的次数。例如,形参s所指的字符串为:abcAbsmaxless,程序执行后的输出结果为:letter’a’:3timesletter’s’:3ti
下列给定程序中,函数fun的功能是:把形参a所指数组中的奇数按原顺序依次存放到a[0]、a[1]、a[2]…中,把偶数从数组中删除,奇数个数通过函数值返回。例如,若a所指数组中的数据最初排列为:9,1,4,2,3,6,5,8,7,删除偶数后,a所指数组中
给定程序通过定义并赋初值的方式,利用结构体变量存储了一名学生的学号、姓名和3门课的成绩。函数fun的功能是将该学生的各科成绩都乘以一个系数a。请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。注意:部分源程序给出如下。不得增行或删
下列给定程序中,函数fun的功能是:将主函数中两个变量的值进行交换。例如,若变量a中的值为8,b中的值为3,则程序运行后,a中的值为3,b中的值为8。请改正程序中的错误,使它能得出正确的结果。注意:部分源程序在文件MODI1.C中,不要改动main函数
如果定义floata[10],x;则以下叙述中正确的是
软件的三要素是
下面不属于软件测试实施步骤的是
在软件设计中不使用的工具是
软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。下面属于系统软件的是
随机试题
我国三大政策性银行成立于()年。
颅内压增高的辅助检查首选【】
下列账户中,期末时应将其本期发生额结转入“本年利润”账户借方的是:()。
下列药物中仅具有抗痛风作用的是
医患沟通的必要性体现在()
经营素食的名店是()。
案例2:汽车运价规则第一章总则第一条为统一全国汽车运价计算办法,正确执行《价格法》和国家物价政策,促进汽车运输事业发展,制定本规则。第二条本规则是计算汽车运费的依据。凡参与营业性运输活动的经营者、旅客、托运人,均应遵守本
“君子欲化民成俗,其必由学乎”“建国君民,教学为先”体现了()的教育目的观。
WhatisthebasichonorintakingpartintheOlympicGames?Accordingtothepassage,theOlympicGamesarenotonlysportgam
A、Inatravelagency.B、Onacampus.C、Inabookshop.D、Inateachers’shop.B
最新回复
(
0
)