问答题 1.  请编写一个函数void proc(char a[], charb[], int n),其功能是:删除一个字符串中指定下标的字符。其中,a指向原字符串,删除后的字符串存放在b所指的数组中,n中存放指定的下标。
    例如,输入一个字符串student,然后输入5,则调用该函数后的结果为studet。
    注意:部分源程序如下。
    请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所编写的若干语句。
    试题程序:
    #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时,对其什么也不做,而把不是n的字符
   放到p中
   if(i!=n)    //n中存放指定的下标
   b[k++]=a[i];//删除后的字符串存放在b所
   指的数组中
   b[k]='\0';//用'\0'作为字符串的结束标志
   }
【答案解析】 按照题目的要求,删除一个字符串中指定下标的字符。首先,将指定下标之前的字符放入字符数组b中;然后,将指定下标之后的字符也放入字符数组b中;最后,为新的字符数组b添加结束符。