上用遵循C标准的编译器编译成功。如果没有这种预防措施，多数程序只能在一种特定的平台或特定的编译器上编译，例如，使用非标准库，例如图形用户界面库，或者有关编译器或平台特定的特性例如数据类型的确切大小和字节序.
选择编译.为了减轻K&RC和ANSI C标准，codice_1（"standard c"）巨集可以被用来将代码分割为ANSI和K&R部分。上面最好使用"codice_2"而不是"codice_3"，因为一些实现可能会把codice_1设置为0来表示不遵循ANSI C。"c