我正在添加数组中保存的值,但总和是实际应该的+1。
//update totalscore
uint newTotalScore;
for (uint i=0; i< [bestscoresArray count] ; i++) {
newTotalScore += [[bestscoresArray objectAtIndex:i] intValue];
}
totalscore = newTotalScore;
//输出 l1bestscore = 15900,l2bestscore = 7800,l3bestscore = 81000,l4bestscore = 81000,l5bestscore = 0,l6bestscore = 0,l7bestscore = 0,l8bestscore = 0,l9bestscore = 0,l10bestscore = 0,totalscore = 185701
如您所见,totalscore输出为185701,但所有值的总和为185700.
有人会有任何想法发生这种情况吗?
谢谢,
标记
答案 0 :(得分:9)
您必须定义newTotalScore
的初始值:
uint newTotalScore = 0;
否则将是未定义的。在你的情况下它是1
但它可能是任何其他值。
答案 1 :(得分:2)
对此不确定,但您是否尝试将newTotalScore
初始化为零? (关于变量初始化,请参阅this question。)如果这没有帮助,请给我们更多代码。