编一程序,将两个字符串连接起来,不要用strcat函数.不知道意思

来源:百度知道 编辑:UC知道 时间:2024/06/13 16:31:38
#include "stdio.h"
main()
{
int i=0,j=0;
char str1[70],str2[70];
scanf("%s%s",&str1,&str2);
while(str1[i++]!='\0');
i--;
while((str1[i++]=str2[j++])!='\0');
printf("%s",str1);
getch();
}
这是我网上搜的,但我不明白while那里的意思,谁告诉下

第一个while是逐渐增加i,知道i指向结束符\0,然后退回去一个,这时候i值指向最后一个元素

第二个while复制str2到str1中从i之后开始的地方

第一处while循环语句,使i的值为str1数组的末尾下标。指向了最后系统所加的那个空字符‘\0’

第2处while循环语句
其中循环的条件同时也完成了循环体的任务,如果str2字符串数组没有结束的话,就将字符付给str1字符串数组,然后i++,接着判断str2是否结束,没有结束的话,继续给str1赋值。这样最终便完成了将str2这个字符串数组的每一个字符赋给str1的目的