改错题 1.  下列给定程序中,函数proc()的功能是:先将字符串s中的字符按顺序存放到t中,然后把s中的字符按正序连接到t的后面。
    例如,当s中的字符串为WXYZ时,则t中的字符串应为WXYZWXYZ。
    请改正程序中的错误,使它能得出正确的结果。
    注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。
    试题程序:
    #include<stdlib.h>
    #include<conio.h>
    #include<stdio.h>
    #include<string.h>
    void proc(char *s,char *t)
    {
    int i,s1;
    s1=strlen(s);
    for(i=0;i<s1;i++)
    //****found****
    t[i]=s[s1];
    for(i=0;i<s1;i++)
    t[s1+i]=s[i];
    t[2*s1]='\0';
    }
    void main()
    {
    char s[100],t[100];
    system("CLS");
    printf("\nPlease enter string s:");
    scanf("%s",s);
    proc(s,t);
    printf("The result is:%s\n",t);
    }
【正确答案】错误:t[i]=s[st];
   正确:t[i]=s[i];
【答案解析】 函数proc()首先要实现将数组s中的元素顺序放在数组t中,即数组t中下标为i的元素在数组s中下标也为i,因此,“t[i]=s[s1];”应改为“t[i]=s[i];”。