Comment Comment by AdieuToLogic Why not use the C/C++ idiom of pointer math? _Bool find_last (size_t count, int *haystack, int needle, size_t *where) { for (const int *pos = haystack + count; pos-- != haystack;) { if (*pos == needle) { *where = pos - haystack; return 1; } } return 0; } parent AdieuToLogic 2 days ago