#include using namespace std; const int NO_STEPS = 4; void s(int* a, int i); int main ( ) { int i, a[NO_STEPS] = {2, 4, 1, 3}; for ( i = 0; i < NO_STEPS; i++ ) s( a, i ); for ( i = NO_STEPS - 1; i >= 0; i-- ) cout << a[i] << ' '; cout << "Boom!\n"; return 0; } void s(int* a, int i) { int* p; int x, n = NO_STEPS / 2; if (i != n) { p = a + i; // be careful - pointer addition here x = *p; *p = a[n]; a[n] = x; } }