关于字符串函数

来源:6-8 字符串函数

废寝忘食陈同学

2019-08-02 22:21


#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;    

}

这是我的代码  我的输出结果没问题  但这样对吗 那个拼接的可以这么写吗 他说s2要有足够的内存 这样会不会不够

写回答 关注

3回答

  • 小小疾飞
    2019-08-02 22:37:40
    已采纳

    strcpy(s1,s2);

        strcat(s1,s3);


    小小疾飞 回复废寝忘食陈同...

    长度没注明,就默认是字符串长度。长度不可能无限的。

    2019-08-03 23:02:47

    共 4 条回复 >

  • weixin_精慕门9421830
    2019-08-28 08:46:54

    不可以的 你的strcat(S2,S3);实际就是不能完成的 因为S2的内存空间已定短于S3 理论上是放不下S2+S3的   而输出正确的原因是你恰好把 S2+S3又STRCPY了S1(去掉这一步会出错)  S1有足够的空间  至于CAT那一步为什么还是把数据存下来了  我认为和内存的分配有关

  • UnforgetMemory
    2019-08-02 22:28:26

    可以的,不写长度好像是无限(应该有限2333)

    废寝忘食陈同...

    那是可以还是不可以哈哈哈哈

    2019-08-03 10:11:18

    共 1 条回复 >

C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926021 学习 · 20793 问题

查看课程

相似问题