#define PI 3.14
//#undef PI
#ifndef PI
#error "Not define PI ..." // compile error
#endif
#define DISP(a) printf("Parameter is " #a "\n");
#define SQUARE(x) ((x)*(x))
#include <stdio.h>
int main()
{
printf("Date: %s\n", __DATE__);
printf("Time: %s\n", __TIME__);
printf("File: %s\n", __FILE__);
printf("Line: %d\n", __LINE__);
printf("STDC: %d\n", __STDC__); // defined as 1 when the compiler complies with the ANSI standard
DISP(TEMP); // Parameter is TEMP
printf("Square of %d is: %d\n", 10, SQUARE(10));
return 0;
}