改错题   给定程序中函数fun的功能是:将m(1≤m≤10)个字符串连接起来,组成一个新串,放入pt所指存储区中。
    例如:把3个串:'abc','CD','EF'连接起来,结果是'abcCDEF'。
    请改正程序中的错误,使它能得出正确的结果。
    注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
    给定源程序:
    #include <stdio.h>
    #include <string.h>
    void fun(char str[][10],int m,char *pt)
    {
    /**********found**********/
    Int k,q,i;
    for(k=0;k<m;k++)
    { q=strlen(str [k]);
    for(i=0;i<q;i++)
    /**********found**********/
    pt[i]=str[k,i];
    pt+=q;
    pt[0]=0;
    }
    }
    main()
    { int m,h;
    char s[10][10],p[120];
    printf('\nPlease enter m:');
    scanf('%d',&m); gets(s[0]);
    printf('\nPlease enter%d string:\n',m);
    for(h=0;h<m;h++) gets(s[h]);
    fun(s,m,p);
    printf('\nThe result is:%s\n',p);
    }
 
【正确答案】(1)int k, q, i; (2)pt[i]=str[k][i];
【答案解析】(1)关键字书写错误,定义整型变量的关键字应使用int,而非Int。 (2)数组元素表示错误,表示二维数组元素,应使用方括号将行坐标和列坐标分别括起来,即str[k, i]应改为:str[k][i]。