0

我无法增加字节数组中内容的值。

例如,如果在我的数组中我得到了值1100001,那么增加这个值的有效方法是什么,这样数组的内容就会显示出来1100010

我认为它会类似于以下内容,但它似乎不起作用。

ByteArray[i] = ByteArray[i]++;

提前致谢

4

3 回答 3

8
ByteArray[i] = ByteArray[i]++;

这相当于:

byte temp = ByteArray[i];
ByteArray[i]++;
ByteArray[i] = temp;

换句话说,您正在增加值,然后用旧值替换它。

你想要的是要么

ByteArray[i]++;

或者

ByteArray[i] = ByteArray[i] + 1;
于 2013-10-22T14:18:37.357 回答
2

x++返回 的原始x
然后,您将原始值分配回数组槽。

于 2013-10-22T14:15:09.613 回答
1

您应该阅读增量运算符,有++xand x++。两者都递增,但++x返回 x+1,同时x++返回 x。

在您的情况下,您将 ByteArray[i] 设置为 ByteArray[i],增量被不耐烦地覆盖。

改为使用ByteArray[i]++;

并且每当您使用这种增量的返回时,请考虑使用哪种变体。

于 2013-10-22T14:19:10.190 回答