lpyhhh 发表于 2020-3-29 16:02:43

各位大佬!为什么使用strcat函数拼接两串字符中间会自动换行?

各位大佬为什么我使用strcat函数连接字符
https://xxx.ilovefishc.com/album/202003/29/155816xgalapaccfftmafg.png
运行后两串字符中间会自动换行?
https://xxx.ilovefishc.com/album/202003/29/155816ks6copin6ysso6rr.png
https://xxx.ilovefishc.com/album/202003/29/155816dl30615q51s36xq6.png


lpyhhh 发表于 2020-3-29 18:24:28

{:10_266:}{:10_266:}{:10_266:}

天假之名 发表于 2020-3-29 19:16:27

#include "stdio.h"
#include "conio.h"
#include "math.h"
main()
{char c,str1,str2,str3;
int i,j;
printf("Please input the first string\nConfirm by Enter\n");
gets(str1);
printf("Please input the second string\nConfirm by Enter\n");
gets(str2);
for(i=0;(c=str1)!='\0';i++)
{str3=str1;
};
j=i;
for(i=0;(c=str2)!='\0';i++,j++)
{str3=str2;
};
printf("The string which has been connected is:\n%s",str3);
getch();
}
你可以这样试试,(不过这也有一些问题)

lpyhhh 发表于 2020-3-29 20:17:05

天假之名 发表于 2020-3-29 19:16
#include "stdio.h"
#include "conio.h"
#include "math.h"


我看教学视频才到22节,有好多还没学到{:5_99:}

rbl233 发表于 2020-5-15 11:07:48

我也是啊,都没加换行符,自动一个上一个下了。还好搜了一下 还以为就我一个人的问题{:10_266:}

永恒的蓝色梦想 发表于 2020-5-15 12:17:27

rbl233 发表于 2020-5-15 11:07
我也是啊,都没加换行符,自动一个上一个下了。还好搜了一下 还以为就我一个人的问题

这个问题很明显的,fgets 读取后,数组末尾不仅有一个 \0,还有一个 \n。
strcat 只会把 \0 去掉,不会把 \n 去掉。

TinaLoveMessi 发表于 2020-5-16 11:22:25

测试
页: [1]
查看完整版本: 各位大佬!为什么使用strcat函数拼接两串字符中间会自动换行?