char *a, *b; what type is (b-a) and how do I printf it?
{ char *a, *b; printf("%lx\n",(b-a)); } Usually works, in fact, I can't imagine it giving a warning or failing on a 32-bit or 64-bit machine. But is that the proper thing to do for ANSI C and size awareness? I'd like this code to work on every platform possible, including non-Unixes and embedded systems. ...