请帮我解释一个C语言问题 我是初学者

来源:百度知道 编辑:UC知道 时间:2024/06/06 08:35:02
这是用一个函数连接两个字符串

#include <stdio.h>
#include <string.h>
char concatenate(char string1[], char string2[])
{
int i,j;
i=strlen(string1);
for(j=0;j<strlen(string2);j++,i++)
string1[i]=string2[j];
string1[i]='\0';
return '\0';
}

main()
{
char string1[100],string2[30];
printf("请输入string1:\n");
scanf("%s",string1);
printf("请输入string2:\n");
scanf("%s",string2);
concatenate(string1,string2);
printf("string1, string2两字符串连接后的结果为:\n%s.\n",string1);
}
谁能告诉我这一段什么意思啊
int i,j;
i=strlen(string1);
for(j=0;j<strlen(string2);j++,i++)
string1[i]=string2[j];
string1[i]='\0';
return '\0';
请详细解释一下 谢谢

int i,j;
i=strlen(string1); //取字符串string1长度
for(j=0;j<strlen(string2);j++,i++)
string1[i]=string2[j]; //把string2的字符一个个赋值给string1
string1[i]='\0';
return '\0';

假设sting1有5个字符,'a''b''c''d''e''\0',i=5,string1[5]就是'\0',从string1[5]开始复制srting2[]里的东西。最后用string1[i]='\0'; 加上结束符。