请问一下哪一步错了?
{ 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';}
else语句不需要。
你想想,如果你输入的n是3,那当i=3时,你将a[3+1]也就是a[4]赋值给了数组b,然后执行i=4的循环,符合if条件,然后又将a[4]赋值给了数组b的下一个元素,那不是赋值了两个a[4]么?
所以说当i=n的时候你不管这个元素就行,直接进行下一个i赋值就行。
回复 qqq:改完后,输入world 4,结果变为worl,又是什么问题?
回复 一条早起的咸鱼:这个4是指下标,不是第四个元素,所以输入4应该是删除第五个元素d,所以答案是对的。