给定程序MODI1.C中函数fun的功能是:将m(1≤m≤10)个字符串连接起来,组成一个新串,放入pt所指存储区中。 例如:把3个串:"abc","CD","EF"连接起来,结果是“abcCDEF"。 请改正程序中的错误,使它能得出正确的

admin2019-04-04  16

问题 给定程序MODI1.C中函数fun的功能是:将m(1≤m≤10)个字符串连接起来,组成一个新串,放入pt所指存储区中。
    例如:把3个串:"abc","CD","EF"连接起来,结果是“abcCDEF"。
    请改正程序中的错误,使它能得出正确的结果。
    注意:不要改动mam函数,不得增行或删行,也不得更改程序的结构!
#include
#include
void fun (char str[] [10],int m.
char *pt)
{
/*********found**********/
   Int k,q. i ;
   for (k = 0; k < m: k++)
   { q = strlen (str [k]);
    pt   =  str[k,i]  ;
      pt +=q ;
     pt[0] = 0 ;
       }
   }
main ()
{  int m. h ;
    char s[10] [10],p[120J ;
       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];

解析 函数的功能是将m(1≤m≤10)个字符串连接起来。
(1)第一标识下是整型变量k、q和i的定义,根据C语言中整型变量的定义方式,第一标识下应为“int k,q,i;”。
(2)第二个标识下的“pt=str[k,i];”语句应该将str中的字符依次拷贝到pt中,根据C语言中对二维数组每一位的取值,应该是str[k],所以“pt=str[k,i]; ”改为“pt=str[k];”。
转载请注明原文地址:https://kaotiyun.com/show/h9Rp777K
0

最新回复(0)