填空题   给定程序中,函数fun的功能是:在形参s所指字符串中寻找与参数c相同的字符,并在其后插入一个与之相同的字符,若找不到相同的字符则函数不做任何处理。
    例如,s所指字符串为:baacda,c中的字符为:a,执行后s所指字符串为:baaaacdaa。
    请在程序的下划线处填入正确的内容,使程序得出正确的结果。
    不得增行或删行,也不得更改程序的结构!
    给定源程序:
    #include <stdio.h>
    void fun (char *s, char c)
    { int i,j,n;
    /**********found**********/
    for(i=0; s[i]!=______;i++)
    if(s[i]==c)
    {
    /**********found**********/
    n=______;
    while(s[i+1+n]!='\0')n++;
    for(j=i+n+1;j>i;j--)s[j+1]=s[j];
    /**********found**********/
    s[j+1]=______;
    i=i+1;
    }
    }
    main()
    { char s[80]='baacda',c;
    printf('\nThe string:%s\n',s);
    printf('\nlnput a character:');
    scanf('%c',&c);
    fun(s,c);
    printf('\nThe result is:%s\n',s);
    }
 
【正确答案】
【答案解析】填空1:for语句循环条件是判断是否到达字符串结尾,即当前字符是否为'\0'。 填空2:while语句用以确定字符串的长度,所以变量n赋初值为0。 填空3:题目要求如果找到与参数c相同的字符,就在后面插入一个相同的字符,所以找到后,应该给数组元素赋值,该题目给出参数为c。