2 asheqsq AsheQSQ 于 2017.09.07 21:09 提问

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

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

4个回答

fight_in_dl
fight_in_dl   Ds   Rxr 2017.09.07 21:54
已采纳

属于典型的数组越界问题。
strcat函数的原型如下:

char *strcpy(  
   char *strDestination,   //存放拼接后的结果字符串,即题目中ch1。
   const char *strSource  //即题目中ch2 
);  

题目中ch1数组定义的长度为7,而拼接后的结果字符串长度为7+5 = 12,超过了ch1数组能容纳的长度。
修改方法是增加ch1数组长度,足以存放拼接后的字符串,比如可以:

 char ch1[20] = { "abcdefg" };  

如果对您有帮助,请采纳答案好吗,谢谢!

zhouglu
zhouglu   2017.09.07 21:57

数组越界。试试 char ch1[20]={"abcdefg"};

qq_35776409
qq_35776409   2017.09.07 21:50

看一些编译信息,不懂的话可以上谷歌翻译,大体差不多

zhang_guyuan
zhang_guyuan   2017.09.08 11:56

程序里的问题比较多。1、标准库需要使用<> 2、strcat输入c语言,你应该使用cstring或者string.h

Csdn user default icon
上传中...
上传图片
插入图片