小白求助
实现strcat的功能,这样为什么不行啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊谢谢大佬们{:10_266:}
#include <stdio.h>
#define MAX 1024
int main()
{
char str1;
char str2;
char* target1 = str1;
char* target2 = str2;
printf("Please input the first string:");
fgets(str1, MAX, stdin);
printf("Please input the second string:");
fgets(str2, MAX, stdin);
int i = 0;
while (*target1++ != '0')
{
i++;
}
char str;
char* target3 = str;
int n;
for (
n = 0; n < i; n++)
{
*target3++ = *target1++;
}
for (;;)
{
if(*target2++ != '0'){*(target3 + n-2) = *target2++;}
}
printf("the sentence is:%s", str);
return 0;
}
本帖最后由 jackz007 于 2020-11-10 22:58 编辑
#include <stdio.h>
#define MAX 1024
int main()
{
char str1 , str2 , str3 ;
int i , j , m ;
printf("Please input the first string : ") ;
fgets(str1 , MAX , stdin) ;
for(m = 0 ; str1 ; m ++) ;
str1 = '\0' ;
printf("Please input the second string : ") ;
fgets(str2 , MAX , stdin) ;
for(m = 0 ; str2 ; m ++) ;
str2 = '\0' ;
for(i = 0 ; str1 ; i ++) str3 = str1 ;
for(j = 0 ; str2 ; j ++) str3 = str2 ;
str3 = '\0' ;
printf("the sentence is:%s\n" , str3) ;
} 题主,已经帮你重写了一下,因为原来的代码有点混乱。
不过有一个问题因为 fget会读入回车键,所以会出现换行,不过已经实现了两个字符串合并了。
运行示例:
https://i.bmp.ovh/imgs/2020/11/04ffafe0a158294e.png
#include <stdio.h>
#define MAX 1024
int main()
{
char str1;
char str2;
char* target1 = str1;
char* target2 = str2;
printf("Please input the first string:");
fgets(str1, MAX, stdin);
printf("Please input the second string:");
fgets(str2, MAX, stdin);
char str;
char* target3 = str;
while (*target3++=*target1++);
target3--; // 回退一个 现在target3 已经到了 第一个字符串结尾的下一个位置了。所以,这里回退到 '0' 位置
while (*target3++=*target2++);
printf("the sentence is:%s", str);
return 0;
} shooan 发表于 2020-11-11 12:05
题主,已经帮你重写了一下,因为原来的代码有点混乱。
不过有一个问题因为 fget会读入回车键,所以会出现 ...
谢啦~一开始我想用getchar把换行读了,后面发现不行{:10_266:}
页:
[1]