#include #include #include #include #include #include #include #include #include #ifdef __cplusplus #include #include #include #include #include #include #include #endif #define COINFLIP() (rand() % 2) void voidptr(void *thing) { if (COINFLIP()) { printf("foo: %p\n", thing); } else { printf("bar: %p\n", thing); } } int main(int argc, char const *argv[]) { int x = COINFLIP(); int y = COINFLIP(); double z = COINFLIP() + 3.14; if (x) { voidptr(&y); } else { voidptr(&z); } }