C语言 将两段字符连起来的问题
发布网友
发布时间:2024-10-02 07:06
我来回答
共1个回答
热心网友
时间:2024-11-05 08:15
LZ 你这个程序太经典,简直把C++里最经典的错误都犯了。
(1)野指针,char *c; 没有分配内存;
(2)调用函数的临时数组变量不能作为返回值,函数退栈时会释放掉内存;
简单改了一下,不知道是不是可以。
#include <stdio.h>
#include <string.h>
char *str_cat(char *s,char *t, char *c);
void main()
{
char s[80]={'\0'},t[80]={'\0'}, c[80]={'\0'};
gets(s);
gets(t);
str_cat(s,t, c);
puts(c);
}
char *str_cat(char *s,char *t, char *c)
{
int i=0;
while((c[i]=s[i])!=0)
i++;
while((c[i++]=*(t++))!=0);
return c;
}