这里如果有搜到k和数组中的元素有相同时,需要返回那个元素在数组中的位置,有点不会,帮下!

img


#include<iostream>

using namespace std;

int Search(int *A, const int n, int k)
{
    int i = 0;
    while (i <= n-1)
    {
        if (A[i] != k)
        {
            i++;
        }
        else
        {
            return i;
        }
    }
    return -1;
}
int main()
{
    int n = 5;
    int A[5] = { 1,2,3,4,5 };
    int k;
    cin >> k;
    int index = Search(A, n, k);
    cout << index;
    system("pause");
    return 0;
}

//c版本的程序,成功返回数组下标: 0~(n-1) ,失败则返回n
#include <stdio.h>
#include <string.h>

int fun(int* A,int n,int k)
{
int i;
for(i=0;i<n;i++)
{
if(A[i]==k)
return i;
}
return n;
}

#define n 5

int main()
{
int A[n]={1,2,3,4,5};
int k=6;
int sr=fun(A,n,k);
printf("dis: %d \n",sr);
return 0;
}