iPhone математика не совсем сложить правильно - PullRequest
0 голосов
/ 19 ноября 2010

Я добавляю значения, хранящиеся в массиве, но сумма равна +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, l57bestscore = 0, 185701core4 = 0, total

Как вы можете видеть, итоговый результат равен 185701, но сумма всех значений равна 185700.

У кого-нибудь есть идеи, почему это происходит?

Спасибо

Mark

Ответы [ 2 ]

9 голосов
/ 19 ноября 2010

Вы должны определить начальное значение newTotalScore:

uint newTotalScore = 0;

В противном случае оно будет неопределенным. В вашем случае это было 1, но это могло быть любое другое значение.

2 голосов
/ 19 ноября 2010

Не уверен насчет этого, но вы пытались инициализировать newTotalScore в ноль? (См. этот вопрос об инициализации переменной.) Если это не поможет, дайте нам больше кода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...