Vorzeitige Beendung von Schleifen - Rekursion?!

@makkustm

ich sehe da keinen Grund für eine Rekursion.
Nicht mal ein break.
Brich einfach aus der Funktion aus.

z.B. mit einem Rückgabewert auf den Index wenn gefunden:

int searchNumber(int needle) {
  int numbers[] = {1, 2, 3, 4, 5};
  size_t i = 0;
  for (int &number : numbers) {
    if (number == needle) {
      return i;
    }
    i++;
  }
  return - 1;
}

void setup() {
  Serial.begin(115200);
  Serial.println(searchNumber(1));
  Serial.println(searchNumber(4));
  Serial.println(searchNumber(42)); // nicht gefunden
}

void loop() {
  // put your main code here, to run repeatedly:

}
0
3
-1