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

字符数组题,将字符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语言入门
  • 参与学习       927002    人
  • 解答问题       21533    个

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

进入课程

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

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号