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