私は完全に困惑している単純なコードを持っています。
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 (え??)
最小数: インデックス: 5 で 57 (正解)
この奇妙な行動をどう説明しますか?どちらの機能も同じように見えます。1つは機能し、もう1つは機能していませんか?私はこれでたくさん遊んできましたが、まだ指を置くことはできません。どんな助けでも大歓迎です/