给定程序MODI1.C中函数fun的功能是:判断ch 中的字符是否与str所指串中的某个字符相同;若相同,什么也不做,若不同,则将其插在串的最后。 请改正程序中的错误,使它能进行正确的操作。 注意:不要改动main函数,不得增行或删行,也不

admin2021-02-25  37

问题 给定程序MODI1.C中函数fun的功能是:判断ch 中的字符是否与str所指串中的某个字符相同;若相同,什么也不做,若不同,则将其插在串的最后。
    请改正程序中的错误,使它能进行正确的操作。
    注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
#include  
#include
/**********found**********/
void fun(ctaar  str,  char  Ch)
{  while  (*str&&*str!=ch)  str++;
/**********found**********/
    if(*str==ch)
    {    str  [0]  =  ch ;
/**********found**********/
    str[1]=’0’;
    }
}
main()
{  char s[81],c ;
    printf("\nPlease enter a string:
\n"); gets(s);
    printf("\n Please enter the
character to  search  :  ");
    C=getchar();
    fun(s,c);
    printf("\nThe result is%s\n",s);
}

选项

答案(1)void fun(char*str,char ch) (2)if(*str!=ch) (3)str[1]=’\0’;

解析 (1)第一个标识下,“void ftm(char str,char ch)”根据主函数中的fun函数的调用“fun(s,c)”,知道S为数组名,传的应该是数组地址,所以应改为“void fun(char*str,char ch)”。
    (2)while循环中对ch与str进行匹配检查,第二个标识下,是当不同时执行连接操作,那么判断*str与ch是否不同的表达式应该是“if(*str!=ch)”。
    (3)第三个标识F,连接后的新串要添加结尾符,所以正确的表达是将“str[1]=’0’;”改为“str[1]=’\0’;”。
转载请注明原文地址:https://jikaoti.com/ti/F8z0FFFM
0

最新回复(0)