strcpy中如果第一个字符串数组比第二个长 什么结果
答案:2 悬赏:50 手机版
解决时间 2021-02-23 13:25
- 提问者网友:沦陷
- 2021-02-23 06:25
strcpy中如果第一个字符串数组比第二个长 什么结果如 第一个abcdef 第二个 ghi 那么结果是什么 输出结果又是什么
最佳答案
- 五星知识达人网友:往事隔山水
- 2021-02-23 06:54
不用strcpy的知道voidstr_test(char*source,char*target){while(*source!='\0'){*target=*source;target++;source++;if(*source=='\0')break;source++;}*target='\0';}
全部回答
- 1楼网友:詩光轨車
- 2021-02-23 08:14
首先,是dest(前一个)内容的长度,还是空间的长度?
如果是空间长度不足,会造成不可知的后果
例如:
char dest[10];
strcpy(dest, "aaaaaaaaaaaaaaaaaaaaaaaaaa");
基本上会崩溃掉,如果第二个参数是精心设计的,就是堆栈溢出攻击。
如果是内容长度比第二个短,但是空间够,那会覆盖
如:
char dest[10] = "a";
strcpy(dest, "aaa");//copy之后为"aaa\0"
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯