数组中的元素不会改变c ++

时间:2018-03-29 23:54:27

标签: c++ arrays

   void Remove(int x)//x is the number that i want to remove
    {
        for(int i=0;i<CAPACITY;i++)//loop is to find the first case of x
        {
             if(x==data[i])//if x is in data 
             {
                  cout<<data[i]<<endl;//for debugging
                  data[i]==0; //change x to 0
                  cout<<data[i]<<endl;
             }
        }
     }

当我想知道它是否有效时,我想要删除的号码仍在那里。 这是在x = 15时运行之前的输出:
12,15,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
我使用cout来查看条件是否存在问题但是如果x在数组中则运行。 这是后面的输出,即使x在数组中:
12,15,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0

2 个答案:

答案 0 :(得分:1)

data[i]==0; //change x to 0

中的问题

== 是一个比较运算符。为了分配值,请改为使用=。所以:

data[i] = 0

答案 1 :(得分:1)

在你的If循环中,你使用comparison operator '=='所以只放一个=,这意味着你将变量x赋给数据数组。