为了账号安全,请及时绑定邮箱和手机立即绑定

先strcat(s2,s3),然后strcpy(s1,s2)

    char s1[100] = "";
    char s2[] = "helo";
    char s3[] = "wold";

    strcat(s2, s3);
    strcpy(s1, s2);
    printf("%s", s1);


我在vs2013里运行能看到结果, 这里不行。

正在回答

1 回答

用strcat strcpy这样的函数时一定要保证第一个参数处有足够大的空间来容纳要操作的字符串。

空间不足的话编译器是不会报错的,也许也能运行,但有极大的可能发生缓冲区溢出错误,这是严重的安全隐患。

1 回复 有任何疑惑可以回复我~
#1

末日黑龙 提问者

非常感谢!
2015-08-19 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

先strcat(s2,s3),然后strcpy(s1,s2)

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信