iPhone数学并没有完全合适

时间:2010-11-19 14:09:59

标签: iphone objective-c arrays math integer

我正在添加数组中保存的值,但总和是实际应该的+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.

有人会有任何想法发生这种情况吗?

谢谢,

标记

2 个答案:

答案 0 :(得分:9)

您必须定义newTotalScore的初始值:

uint newTotalScore = 0;

否则将是未定义的。在你的情况下它是1但它可能是任何其他值。

答案 1 :(得分:2)

对此不确定,但您是否尝试将newTotalScore初始化为零? (关于变量初始化,请参阅this question。)如果这没有帮助,请给我们更多代码。