#include #include int sequencePoint(long a, long b) { long c; c = a*b; printf("a=%ld, b=%ld, c(a*b)=%ld, c/b=%ld\n", a, b, c, c/b); if (c/b != a) { return 1; } return 0; } /* Call as e.g. a.out 4294967296 4294967296 for blammo */ int main(int argc, char *argv[]) { long a = atol(argv[1]); long b = atol(argv[2]); printf("overflow detected: %d\n", sequencePoint(a,b)); exit(0); }