Ich führe das folgende Programm und bekomme ein Ergebnis als 9 7, verstand ich, warum 9 ist die Ausgabe, aber ich kann nicht herausfinden, warum ich 7 als Ausgabe bekomme.C Makro mit Ausdruck unerwünschtes Ergebnis
#include<stdio.h>
#define sqr(i) (i*i)
int main()
{
printf("%d %d", sqr(3), sqr(3+1));
return 0;
}
Für die zweite Funktion, die sqrt(3+1)
, wie das Mikro ist erweitert zu werden und wie Im 7 Ausgang zu bekommen?
ich vergessen habe, seine Expansion in IDE zu überprüfen. Danke übrigens. –