我不能在我的字节数组中增加内容的值。
例如,如果在我的数组中我得到了值1100001
,那么递增此值的有效方法是什么,以便数组的内容显示1100010
。
我认为它会像下面这样但它似乎不起作用。
ByteArray[i] = ByteArray[i]++;
提前致谢
答案 0 :(得分:8)
ByteArray[i] = ByteArray[i]++;
这相当于:
byte temp = ByteArray[i];
ByteArray[i]++;
ByteArray[i] = temp;
换句话说,您正在增加该值,然后将其替换为旧值。
你想要的是
ByteArray[i]++;
或
ByteArray[i] = ByteArray[i] + 1;
答案 1 :(得分:2)
x++
会返回x
的原始值
然后,您将原始值分配回数组插槽。
答案 2 :(得分:1)
您应该阅读增量运算符,++x
和x++
。两者都递增,但++x
返回x + 1,而x++
返回x。
在你的情况下,你将ByteArray [i]设置为ByteArray [i],增量会被不耐烦地覆盖。
改为使用ByteArray[i]++;
。
无论何时使用这种增量的返回,请考虑使用哪种变体。