字符数组题,将字符s1的前k个字符赋给s2,为什么运行不了

来源:6-8 字符串函数

LLY8Su

2017-04-14 20:39

58f0c2d30001169707801052.jpg
为啥运行不了

写回答 关注

1回答

  • 陆晓东
    2017-04-14 23:11:28

    不用这么麻烦吧!不知道你这个gets(s1)是干什么的,最好不要用gets();

    求数组s1的长度用sizeof()就行了,前面把s2初始化了,后面就不用在最后加“\0”了

    初始化很重要,边界操作容易出错。

     char s1[10] = "abcdefg";
     char s2[30] = {};
     int i, j=0, k=0;
     scanf("%d", &k);
     j = sizeof(s1);
     if (k > j)
     {
          k = j;
     }

    for (i = 0;i < k;i++)
    {
         s2[i] = s1[i];
    }

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

C语言入门

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

926286 学习 · 20799 问题

查看课程

相似问题