实现两个字符串的连接,不用strcat,不用strlen。
题目要求如下:
#include
int main()
{
char s1[160];
char s2[80];
fgets(s1,159,stdin);
fgets(s2,79,stdin);
MyStrcat(s1,s2);
printf("%s\n",s1);
return 0;
}
求解答,使用了一些方法,得到的结果大部分都是没法连接,仍然是两行。
把s2的每个字符加到s1的尾部啊
void MyStrcat(char *s1,char *s2)
{
char *p = s1;
while(*p++);
p--;
while(*s2 != 0)
{
*p = *s2;
p++;
s2++;
}
*p = 0;
}
可以参考下面方法,可行还望采纳:
#include <stdio.h>
void Mystrcat(char s1[], char s2[]) {
int i, j;
i = j = 0;
while (s1[i] != '\0') {
i++;
}
while ((s1[i++] = s2[j++]) != '\0');
}
int main() {
char s1[100], s2[100];
scanf("%s%s", s1, s2);
Mystrcat(s1, s2);
printf("%s\n", s1);
return 0;
}