各位大佬!为什么使用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
{:10_266:}{:10_266:}{:10_266:} #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();
}
你可以这样试试,(不过这也有一些问题) 天假之名 发表于 2020-3-29 19:16
#include "stdio.h"
#include "conio.h"
#include "math.h"
我看教学视频才到22节,有好多还没学到{:5_99:} 我也是啊,都没加换行符,自动一个上一个下了。还好搜了一下 还以为就我一个人的问题{:10_266:} rbl233 发表于 2020-5-15 11:07
我也是啊,都没加换行符,自动一个上一个下了。还好搜了一下 还以为就我一个人的问题
这个问题很明显的,fgets 读取后,数组末尾不仅有一个 \0,还有一个 \n。
strcat 只会把 \0 去掉,不会把 \n 去掉。 测试
页:
[1]