--- Good ones --- printf("%d", 1); => no error printf("%d%d%d", 1, 2, 3); => no error printf("%a%b%z", 1, "anything", 3); => no error --- Comments --- // This is a c++ comment, should not throw printf("%d", 1, 2); => no error --- Preprocessor --- #define printf(%d, 1, 2); => no error -- Too many arguments --- printf("%d", 1, 2); => error printf("%a %b", 1, 2, "anything"); => error --- Not enough argument --- printf("%d"); should throw => error printf("%a%b%z", 1, "anything"); => error