请问一下哪一步错了?
一条早起的咸鱼 人气新星 2017-02-22 16:08:22
1422 3 0

 {
 int i,j=0;
 for(i=0;a[i];i++)
 {
if(i!=n)
 b[j++]=a[i];
else
 b[j++]=a[i+1];
 }
  b[j]='\0';
}

共 3 个回答

    最佳答案

    qqq 资深元老 助教 3064天前

    else语句不需要。

    你想想,如果你输入的n是3,那当i=3时,你将a[3+1]也就是a[4]赋值给了数组b,然后执行i=4的循环,符合if条件,然后又将a[4]赋值给了数组b的下一个元素,那不是赋值了两个a[4]么?

    所以说当i=n的时候你不管这个元素就行,直接进行下一个i赋值就行。

    一条早起的咸鱼 人气新星 3064天前

    回复 qqq:改完后,输入world 4,结果变为worl,又是什么问题?

    qqq 资深元老 助教 3064天前

    回复 一条早起的咸鱼:这个4是指下标,不是第四个元素,所以输入4应该是删除第五个元素d,所以答案是对的。

您还没有登录,所以不能回复该问题