it may be anything, but note that they didn't evaluate while sending.
i mean, if you call f(2,3+5,7) ===> to f(int a, int b, int c) ===> before actual parameters binding to the formal parameters, the expressions get evaluated ===> a=2, b=8,c=7
if in the case of macro, 3+5 directly bind, as it is