#include <stdio.h>
#define test(x) x*x
#define test2(x) x
int main(void) {
int x=5;
printf("%d %d %d %d %d %d",test2(x), test2(x-2), test(x), test(x-2),4*(test(x-3)),4*test(x-3));
return 0;
}
Dies gibt die Ausgabe als:C# define seltsame Ausgänge
5 3 25 -7 -52 2
Nun kann für erste 3 verstehen, aber warum -7, wenn Test (x-2) und letzten 2 ...
Was ist x-2 * x-2? – immibis
'#define test (x) (x) * (x)' – Abhineet