搜索数组中的值

时间:2018-09-28 13:03:02

标签: c arrays for-loop if-statement indexing

我是编码的新手,已被介绍给C语言。我需要了解特定概念的帮助。

我想知道如何在数组中搜索特定数字(例如4)。 {1 2 4 5 6 4 6})。我怎么想打印出最后一次出现的4的索引。我该怎么做?

到目前为止,我已经做到了...我不明白的是如何显示“给定数字的最后一次出现”

#include <stdio.h>
LastIndexOf(int search, int values[], int numValues){
    int i;
    int display;
    for(i=0;i<numValues;i++){
        if(values[i] == search){
            display = i
        }
    }
}

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:4)

类似的事情应该起作用

#include <stdio.h>
int LastIndexOf(int search, int values[], int numValues){
    int i;
    int display=-1;
    for(i=0;i<numValues;i++){
        if(values[i] == search){
            display = i;
        }
    }
    return display;
}

void main() {
    int display = LastIndexOf( ... );
    printf("Last occurrence at postion %i \n",display);
    return 0;
}

如评论中所建议,向后的版本要好得多:

int LastIndexOf(int search, int values[], int numValues){
   for(int i=numValues-1;i>=0;i--){
       if(values[i] == search) {
            return  i;
       }
   }
   return -1;
}