level 1
将两数组的大小改大点,vc6的结果也是错的。gets函数是不安全函数,一直读到回车才返回,还要添加字符串结束符,所以你输入第二串三个字符后回车,实际上是向第二个数组写入了四个字符,已经越界了。只不过VC的内存分配问题,才没有报错。
#include <stdio.h>
#include <string.h>
int main()
{
char bin[30];
char ren[10];
gets(bin);
gets(ren);//慎用gets函数, scanf("%10s", ren) 或是fgets(ren, 10, stdin);或是自己用getchar函数实现gets函数。
printf("%s\n", strcat(bin, ren));
return 0;
}
2019年11月01日 02点11分

