C Programmierung Makro Optimierung?

... komplette Frage anzeigen

1 Antwort

Voerst: Makros sind kein Ersatz für Funktionen. Daher kannst du in ihnen auch keine Variablen deklarieren/... die im Übrigen eh überflüssig sein sollten.

#include <stdio.h>

#define MAXIMUM(x, y) x <  y ? y : x; #define PRINT(text) PRINTVALUE(text, ""); #define PRINTVALUE(text, value) printf(text, value); #define startMakro PRINT("Bitte geben Sie eine Zahl ein\\n"); #define startMakro2 PRINTVALUE("Das Maximum lautet %d", MAXIMUM(x, y)); #define READNUMBER(i) scanf("%d", i);
int main() { int x, y; startMakro; READNUMBER(&x); READNUMBER(&y); startMakro2; }

Genauso benötigst du X und Y nicht, außer du möchtest sie gegen x und y austauschen.

Ich habe im obrigen Codeabschnitt nicht auf Funktionalität geprüft, sondern nur, ob der Compiler damit zurechtkommt.

Antwort bewerten Vielen Dank für Deine Bewertung

Was möchtest Du wissen?