#define AAA 999
が定義してあって

int a = AAA.AAA
が置き換えられるとする。
結果がコンパイラによって違うんだけど、どっちが規格に準拠してるのかな?

・cl.exe(MSのC/C++コンパイラ)の場合
int a = 100.AAA

・gccの場合
int a = 100 . 100