int main(void) { int x[] = { 3, 1, 4, 1, 5, 9, 2, 6 }; int *p = x; int *q = x + 7; int i; while (p != q) if (*p < 4) ++p; else if (*q >= 4) --q; else { i = *p; *p = *q; *q = i; } for (i = 0;i < 8;++i) printf("%d\n",x[i]); }