新手提问,简单的代码不知道为何一直警告

不知道为何一直警告,代码也看不出问题图片图片

属于典型的数组越界问题。
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