Here’s a relatively dumb example, but it does have a different result:
#define Streq(s1, s2) (strcmp((s1), (s2)) == 0)
#define MyStreq(s1, s2) (strcmp(s1, s2) == 0)
#define s1 "foo", "blah"
int main() {
Streq(s1, "blah"); // Compiles and compares equal.
MyStreq(s1, "blah"); // Compiler error. Too many parameters.
}