猿问

strcpy和strcat的问题

    char s1[100]="";

    char s2[]="我爱,";

    char s3[]="慕课网";

    /*在以下补全代码*/

    strcat(s2,s3);

    #strcpy(s1,s2);

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

    return 0;    

比如我strcat是可以成功的,我试过输出s2,但是加上strcpy以后就会出错。为啥= =

wjxjswn
浏览 1678回答 3
3回答

望远

char s2[]="我爱,"; char s3[]="慕课网"; /*在以下补全代码*/ strcat(s2,s3);这里其实有点问题,你在s2后拼接s3时其实访问了非法内存,追加时需要保证第一个字符串在加上第二个之后依旧不能溢出,定义s2的时候这样char s2[50]="我爱,";保证不溢出。 #strcpy(s1,s2);这里是敲错了吧。

萧欢打靶把营归

出什么错
随时随地看视频慕课网APP
我要回答