#ifndef _MAX_H #define _MAX_H // Here we define a couple of symbolic constancts, using #define #define MIN_MONTH 1 // january #define MAX_MONTH 12 // december // #define can create "macros". A macro looks like a method invocation, // but what happens is that at preprocessor time the macro invocation in // the source code is replaced by the definition of the maco, a string operation. // The compiler then compiles the expanded code #define max(a,b) a>b?a:b // that macro had a bug. Here's a correct definition. #define MAX(a,b) ((a)>(b)?(a):(b)) #endif // _MAX_H