setjmp/longjmp in C

Das wird wirklich nicht zur Nachahmung empfohlen:

#include <setjmp.h>

static jmp_buf buf;
int dup (int x) { return succ (2*x); }
int succ (int x) { longjmp (buf, 5); }

int main () {
  int x = setjmp(buf);
  int y = x ? 3*x : dup (x);
}
siehe auch http://en.wikipedia.org/wiki/Longjmp



Johannes Waldmann 2008-01-23