(我是编码新手)
我正在尝试将数组元素本身替换为1,但似乎无法正常工作。在下文中,我尝试替换第三个元素:

int l=5;
int histogram[l];
histogram[l]={0};
histogram[2] = histogram[2] + 1;


它给了我以下错误;


  预期为“;”表达后


直方图

最佳答案

首先,@ Elias已将数组histogram的大小定义为5,并将histogram [5]初始化为0。但是任何数组的最后一个索引是size-1...(size minus one),因为数组索引从零开始一。

其次,您需要先初始化从histogram[]histogram[0]的整个histogram[4]数组,然后才能执行任何算术运算(例如加或减)。在您的代码片段中,您甚至在将histogram[2]初始化为任何值之前都尝试将其递增1。

所以试试这个...

int len = 5, i = 0;
int histogram[len];
for(i = 0; i < len; i++) {
    histogram[i] = 0;
}
histogram[2] = histogram[2] + 1; //can also use  histogram[2] += 1; or histogram[2]++;

关于c++ - 将数组元素加1,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52401599/

10-11 18:19