我有一個看起來很簡單的代碼,讓我完全失望。NSMutableArray的最小值和最大值
NSInteger ymax;
NSInteger ymin;
NSInteger numberIndex1;
NSInteger numberIndex2;
for (NSNumber *theNumber in array2)
{
if ([theNumber integerValue] > ymax) {
ymax = [theNumber integerValue];
numberIndex1 = [array2 indexOfObject:theNumber];
}
}
for (NSNumber *theNumber in array2)
{
if ([theNumber integerValue] < ymin) {
ymin = [theNumber integerValue];
numberIndex2 = [array2 indexOfObject:theNumber];
}
}
NSLog(@"Highest number: %d at index: %d", ymax, numberIndex1);
NSLog(@"Lowest number: %d at index: %d", ymin, numberIndex2);
的NSLog的輸出爲:
最高編號:129171656在指數:-1073752392(咦??)
最低數目:57在指數:5(正確)
你如何解釋這種奇怪的行爲?這兩個功能看起來都一樣。一個在工作,一個不在?我在這方面玩過很多,但我仍然無法控制它。任何幫助將不勝感激/
你初始化了NSIntegers嗎? – Raspu
按照上面的代碼中所述初始化它。 – geekchic
數組中的數字有多大? – Woodstock