I accidentally found it here: http://bytes.com/topic/c/answers/561589-print-1-100-without-loops-c-c
#include#include void (*f[2])(int); void printnum(int n) { printf("%d\n", n); int i; i = ++n <= 100; (*f[i])(n); } void done(int n) { exit(0); } int main(void) { int n = 1; f[0] = &done; f[1] = &printnum; printnum(n); return 1; }