下列给定程序中函数fun的功能是:逐个比较p、q所指两个字符串对应位置上的字符,并把ASCII值大或相等的字符依次存放到c所指的数组中,形成一个新的字符串。 例如,若主函数中a字符串为“aBCDeFgH”,b字符串为“Abcd”,则c中的字符串应为“aBc

admin2020-11-27  30

问题 下列给定程序中函数fun的功能是:逐个比较p、q所指两个字符串对应位置上的字符,并把ASCII值大或相等的字符依次存放到c所指的数组中,形成一个新的字符串。
例如,若主函数中a字符串为“aBCDeFgH”,b字符串为“Abcd”,则c中的字符串应为“aBcdeFgH”。
请改正程序中的错误,使它能得出正确的结果。
注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改程序的结构!
#include<stdio.h>
#include<string.h>
void fun(char*p,char*q,char*c)
{
/**********found**********/
int k=1;
/**********found**********/
while(*p!=*q)
{if(*p<*q)c[k]=*q;
else c[k]=*p;
if(*p)p++;
if(*q) q++;
k++;
}
}
main()
{char a[10]="aBCDeFgH",b[10]="ABcd",c[80]={’\0’};
fun(a,b,c);
printf("The string a:");puts(a);
printf("The string b:");puts(b);
printf("The result:");puts(c);
}

选项

答案(1)int k=0; (2)while*p||*q)

解析 (1)变量k存放数组c的下标,因此应初始化为0。
(2)while循环语句的循环条件是判断两个字符串是否到达结尾。
转载请注明原文地址:https://jikaoti.com/ti/BpD0FFFM
0

最新回复(0)