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

admin2019-04-04  19

问题 下列给定程序中函数fun的功能是:逐个比较p、q所指两个字符串对应位置上的字符,并把ASCII值大或相等的字符依次存放到c所指的数组中,形成一个新的字符串。
    例如,若主函数中a字符串为“aBCDeFgH”,b字符串为“ABed”,则c中的字符串应为“aBcdeFgH”。
    请改正程序中的错误,使它能得出正确的结果。
    注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
  试题程序:
#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)

解析 本题考查:变量初始化,需要根据题意确定变量含义,然后对其进行初始化操作;while循环语句。
(1)变量k存放数组c的下标,因此应初始化
为0。
(2)while循环语句的循环条件是判断两个字符串是否到达结尾。
转载请注明原文地址:https://kaotiyun.com/show/BnRp777K
0

最新回复(0)