Forum: PC-Programmierung C Makro kombinieren


von Tobi (Gast)


Lesenswert?

Hallo zusammen!

Kurz und Bündig - folgendes funktioniert:

#define CHECK1(x)   if(isnan(x)) printf("error");
#define CHECK2(x)   printf("Varname: %s",#x);
#define CHECK3(x,s) if(isnan(x)) printf("%s is NAN",#s);

float var = NAN;
CHECK1(var);     // Ausgabe: "error"
CHECK2(var);     // Ausgabe: "Varname: var"
CHECK3(var,var); // Ausgabe: "var is NAN"

(Wie) kann ich CHECK3 definieren damit die Variable nur ein mal 
angegeben werden muss (komfortabler)?

Danke,
Tobias

Compiler: gcc 4.8, arm

von Klaus W. (mfgkw)


Lesenswert?

#define CHECK3(s) if(isnan(s)) printf("%s is NAN",#s);

von Tobi (Gast)


Lesenswert?

Hmm..
Tatsächlich.

Thanks :)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.