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

请问大神这个解答可以吗?

#include <stdio.h>

#include <string.h>

int main()

{

    char s1[100]="";

    char s2[]="我爱,";

    char s3[]="慕课网";

    /*在以下补全代码*/

    strcat(s2,s3);

    strcpy(s1,s2);

    

   

    

    

    printf("%s\n",s1);

    return 0;    

}


正在回答

代码语言

4 回答

这个写法不行吧。

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

慕妹3401294 提问者

非常感谢!
2018-05-23 回复 有任何疑惑可以回复我~

这道题可以,但理论上是不行,strcat在使用时s2与s3指的内存空间不能重叠,且s2要有足够的空间来容纳要复制的字符串,你把s2[]="我爱,"改成s2[2]="我爱,"就知道了,内存空间太小不行

0 回复 有任何疑惑可以回复我~

一派胡言,怎么不行?s1是空串!

0 回复 有任何疑惑可以回复我~

不行,原因是cpy会覆盖原来的字符串内容。cat是复制第二个参数的字符串内容到第一个参数去

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

请问大神这个解答可以吗?

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号