为什么这样提交显示错误?编辑器可以运行啊

来源:6-8 字符串函数

慕虎6185129

2016-10-27 19:57

#include <stdio.h>

#include <string.h>

int main()

{

    char s1[100]="";

    char s2[]="我爱,";

    char s3[]="慕课网";

    /*在以下补全代码*/

    strcat(s1,strcat(s2,s3));

    

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

    return 0;    

}

求大神解答

写回答 关注

3回答

  • 卝无力吐槽
    2016-10-27 21:28:58
    已采纳

    发现问题了没有  s1里有个空格 所以用strcpy(s1,s2)把空格覆盖掉 然后再strcat拼接

    慕虎6185...

    非常感谢!

    2016-10-28 20:32:16

    共 1 条回复 >

  • 慕虎6185129
    2016-10-28 20:33:31

    我知道答案上是对的    可是我这样写不对吗?

    qq_魴肆d...

    我觉得应该是左边例子中提到的第四点,要有足够的空间来容纳要复制的字符串,strcat(s2,s3)在这里是错误的。s2定义时大小就是"我爱,"的长度,已经满了,没有空间容纳s3,所以要先strcpy(s1,s2),s1长度100,足够进行拼接。

    2016-11-22 01:00:02

    共 1 条回复 >

  • 卝无力吐槽
    2016-10-27 21:26:22

    #include <stdio.h>
    #include <string.h>
    int main()
    {
        char s1[100]="";
        char s2[]="我爱,";
        char s3[]="慕课网";
        /*在以下补全代码*/
        strcpy(s1,s2);
       strcat(s1,s3);
       
        printf("%s\n",s1);
        return 0;   
    }

C语言入门

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

926206 学习 · 20797 问题

查看课程

相似问题