改错题   给定程序中函数fun的功能是:判断ch中的字符是否与str所指串中的某个字符相同;若相同,什么也不做,若不同,则将其插在串的最后。
    请改正程序中的错误,使它能进行正确的操作。
    注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
    给定源程序:
    #include <stdio.h>
    #include <string.h>
    /**********found**********/
    void fun(char str, char ch)
    { while(*str&&*str!=ch)str++;
    /**********found**********/
    if (*sfr==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)st r[1]=0;
【答案解析】(1)第1个形参应该是字符串类型,所以应改为void fun(char *str, char ch)。 (2)应该是判断不相等,所以应改为if(*str! =ch)。 (3)赋值字符串结束符错误,所以应改为str[1]=0;。