#include<stdio.h>
int bar(int data[], int i, int a, int x) {
if (x<0) return 0;
x--;
int b = a + data[i];
if(data[i] >0) return bar(data, i+1, b, x);
if(data[i] == 0 || i ==x-1) return a;
return -a;
}
int main()
{
int data[5] = {1,2,3, -1};
int x = (int *)(&data+1)-data;
printf("%d", bar(data, 0, 0, x) );
}
What will be the output of a given program?
- $6$
- $-6$
- $0$
- $5$