求解惑!看看这个程序
题目:编写函数功能:将m(1-10之间)个字符串连接起来,组成一个新串,放入P所指字符串中。下面是程序,我想问一下,为什么再输入字符串数组前需要gets(s[0])这一句(用//标示)
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
void fun(char str[][10],int m,char *p)
{
int k=0,q,i,j=0;
for(k=0;k<m;k++)
{
q=strlen(str[k]);
j+=q;
for(i =0;i<q;i++)
p[i]=str[k][i];
p+=q;
}
p[j]=0;
p=p-j;
}
int main()
{
int m,h;
char s[10][10],p[100];
printf("please input m:");
scanf("%d",&m);
printf("please input %d strings:\n",m);
// gets(s[0]);
for(h=0;h<m;h++)
gets(s[h]);
fun(s,m,p);
printf("the result is:%s",p);
system("pause");
return 0;
}