问答题 1.  请编写函数void proc (char a[], charb[], int n),其功能是:删除一个字符串中指定下标的字符。其中,a指向原字符串,删除后的字符串存放在b所指的数组中,n中存放指定的下标。
    例如,输入一个字符串thankyou,然后输入4,则调用该函数后的结果为thankyou。
    注意:部分源程序如下。
    请勿改动main()函数和其他函数中的任何内容,仅在函数fun()的花括号中填入所编写的若干语句。
    试题程序:
    #include<stdlib.h>
    #include<stdio.h>
    #include<conio.h>
    #define N 20
    void proc(char a[],char b[],int n)
    {
    }
    void main()
    {
    char str1[N],str2[N];
    int n;
    system("CLS");
    printf("Enter the string:\n");
    gets(str1);
    printf("Enter the position of the string deleted:");
    scanf("%d",&n);
    proc(str1,str2,n);
    printf("The new string is:%s、n",str2);
    }
【正确答案】void proc(char a[], char b[], int n)
   {
   int i,k=0;
   for(i=0;a[i]!='\0';i++)//要删除,也就是把
   下标不是n的字符放到b中
   if(i!=n)    //n中存放指定的下标
   b[k++]=a[i];    //删除指定字符后的字符串存
   放在b所指的数组中
   b[k]='\0';//用'\0'作为字符串的结束标志
   }
【答案解析】 按照题目的要求,删除一个字符串中指定下标的字符。首先,将指定下标之前的字符放入字符数组b中;然后,将指定下标之后的字符也放入字符数组b中;最后,为新的字符数组b添加结束符。