Czy ten kod zostanie potraktowany przez kompilator jako rekurencja ogonowa i zamieniony na pętle? Jeśli nie to jak go można poprawić?
void reverse(int arr[], int size) {
void swap(int *a, int *b) {
const int temp=*a;
*a=*b;
*b=temp;
}
if(size>0) {
swap(&arr[0], &arr[size-1]);
reverse(++arr, size-2);
}
}