不知道为何一直警告,代码也看不出问题
属于典型的数组越界问题。
strcat函数的原型如下:
char *strcpy(
char *strDestination, //存放拼接后的结果字符串,即题目中ch1。
const char *strSource //即题目中ch2
);
题目中ch1数组定义的长度为7,而拼接后的结果字符串长度为7+5 = 12,超过了ch1数组能容纳的长度。
修改方法是增加ch1数组长度,足以存放拼接后的字符串,比如可以:
char ch1[20] = { "abcdefg" };
如果对您有帮助,请采纳答案好吗,谢谢!
看一些编译信息,不懂的话可以上谷歌翻译,大体差不多
数组越界。试试 char ch1[20]={"abcdefg"};
程序里的问题比较多。1、标准库需要使用<> 2、strcat输入c语言,你应该使用cstring或者string.h