急需下题的流程图

来源:百度知道 编辑:UC知道 时间:2024/05/22 23:46:24
#include <stdio.h>

void StringJoin(char *s1,char *s2)
{
while(*s1)
s1++;
while((*s1++ = *s2++)!='\0')
;

}

void main()
{
char str1[80],str2[80];
printf("Input str1&str2:\n");

gets(str1);
gets(str2);

StringJoin(str1,str2);
printf("输出为:\t");
puts(str1);
}

这程序本身编的就不对.
StringJoin()函数把s1的指向给改变了,导致丢失了原来str1的地址.
应该改为在该函数中,另定义一个指针,来取代s1(最好也另定义一个取代s2).
char *p,*q;
p=s1;q=s2
whle(*p)
.....//将其中的s1替换为p,s2替换为q