void checksum(int m[], int pos, int *seven, int *sodd) { if(pos>=MAX) { printf("sodd: %d, seven: %d.\n", *sodd, *seven); return; } if (pos==0) { *seven = m[pos]; checksum(m, pos+1, seven, sodd); return; } if (pos==1) { *sodd = m[pos]; checksum(m, pos+1, seven, sodd); return; } if (!(pos%2)) { *seven = *seven + m[pos]; checksum(m, pos+1, seven, sodd); } else { *sodd= *sodd + m[pos]; checksum(m, pos+1, seven, sodd); } return; } int main(void) { int mat[MAX]={0,1,2,3,4,5,6,7,8,9}; int seven, sodd; checksum(mat, 0, &seven, &sodd); }