首页 > 解决方案 > 你如何获得数组的索引号而不是元素?

问题描述

我编写了一个基本程序来查找数组中的最大数并打印它:

#include <stdio.h>

int main(void)
{
    int numbers[] = {3, 5, 12, 1, 4};
    int largest;

    largest = numbers[0];

    for (int i = 0; i < sizeof(numbers) / sizeof(numbers[0]); i++)
    {
        if (largest < numbers[i])
        {
            largest = numbers[i];
        }
    }

    printf("The largest number in the array is %i\n", largest);
}

我需要做什么才能打印而不是The largest number in the array is 12打印The largest number in the array is numbers[2]

标签: carray-indexing

解决方案


您将使用索引而不是使用该值:

#include <stdio.h>

int main(void)
{
    int numbers[] = { 3, 5, 12, 1, 4 };
    int largest;

    largest = 0;

    for (int i = 1; i < sizeof(numbers) / sizeof(numbers[0]); i++)
    {
        if (numbers[largest] < numbers[i])
        {
            largest = i;
        }
    }

    printf("The largest number in the array is numbers[%d]\n", largest);
    return 0;
}

推荐阅读