-1

我试图了解如何使用数组作为函数的参数。

当我以这种方式输入参数时出现错误:minimum([5],10)。这显然是错误的,但我不知道如何使它正确。

我的例子是

#import <Foundation/Foundation.h>

int minimum(int values[],int numElements)
{
    int minValue,i;
    minValue = values[0];

    for(i=1;i < numElements; ++i)
       if(values[i] < minValue)
           minValue = values[i];

    return(minValue);
}

main()
{
    @autoreleasepool {
        int result;
        NSLog(@"For values 5 and numElements 10 results minValue  %i", minimum([5],10);
    }

    return 0;
}
4

2 回答 2

2

是否要检查 中的前 5 个值的最小值array[10]?在C中你可以这样做

#include <stdio.h>

int minimum(int values[], int numElements) /* or simply int *values */
{
    int minValue,i;

    minValue = values[0];
    for(i=1;i < numElements; ++i) /* do you mean i = 0? */
       if(values[i] < minValue)
           minValue = values[i];

    return(minValue);
}

main() /* int main(void) */
{
    int result[10] = {7, 4, 5, 8, 1, 3, 2, 6, 7, 6};

    printf("%d\n", minimum(result, 5));
    return 0;
}
于 2013-06-24T19:13:18.347 回答
0

通过使用其名称和哪个成员。

printf("at 0=%d at 5=%d", functionname(array), functionname(&array[5]));

您需要提供数组项的位置(地址)。如果仅使用名称,则与编写 &array[0] (数组第 0 个成员的地址)相同。否则,&array[ member ] 将创建一个以该成员开头的地址。

于 2013-06-24T19:05:03.947 回答