Параметр sizeof для функции массива вернет размер 'double *' вместо 'double []' - PullRequest
0 голосов
/ 24 сентября 2018

Это мой код:

double findMax(double arr[]){
    double max = arr[0];
    for (int i = 0; i < sizeof(arr); i++) {
        if (arr[i] > max) {
            max = arr[i];
        }
    }
    return max;
}

Я не знаю, как это сделать в Objective-C.Может кто-нибудь сказать мне, что с ним не так?

1 Ответ

0 голосов
/ 24 сентября 2018

Если вы не очень заинтересованы в работе с C-массивами, а также можете позволить себе отобразить ваши данные в NSArray, к тому же вам вообще не нужно беспокоиться о производительности ... Я рекомендуюсделать такую ​​вещь в ObjC:

- (NSNumber *)maxIn:(NSArray<NSNumber *> *)array {
    return [array valueForKeyPath:@"@max.doubleValue"];
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...