Я проверил это:
~> a.out ARR = 23 36 45 62 79 103 109 значение: 79, индекс: 4
в этом коде нет проверки границ...
#include <stdio.h>
int findNum(int, int *, int *);
int main(int argc, char** argv) {
int list[7] = {23,36,45,62,79,103,109};
int i, val, idx = 0;
printf("ARR=");
for (i=0; i<7; i++) {
printf("%d ", list[i]);
}
val = findNum(67, list, &idx);
printf("\nvalue: %d, index: %d\n\n", val, idx);
return(0);
}
int findNum(int num, int *list, int *idx) {
if (*list <= num) {
*idx = (*idx)++;
return(findNum(num,list+1,idx));
}
}