全部问题 > 当前问题

和答案的分析点不一样

void fun (char a[], char b[], int n)

{

   int i,n;

   for(i=0;a[i]!=0;i++)

   {

     if(i==n)

   a[i]=a[i+1];

 

   }

   b[i]=a[i];





}


这样可以吗???

以时光寄黎于岛屿y 2017-3-13 16:38:36

共 1 个回答

qqq 2017-3-13 21:31:40

我猜不可以。你想啊,如果数组a原本是1,2,3,4,5,你输入一个n=2,那么当i=2时,将a[3]赋值给a[2],所以现在a[2]=4了,但a[3]也还是4啊,你只是将指定下标的元素值换成了下一个元素的值,并不是删除了该元素,所以还是答案那样才是正确的。而且,你在循环外面写个b[i]=a[i]是什么意思呢。。

问题来自: 编程题真题