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

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

58f0c2d30001169707801052.jpg
为啥运行不了

正在回答

1 回答

不用这么麻烦吧!不知道你这个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);

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

举报

0/150
提交
取消
C语言入门
  • 参与学习       926019    人
  • 解答问题       20793    个

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

进入课程

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

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信