hey leute,
lernen ist grad auf hochtouren
hier eine aufgabe :
Definieren Sie ein Makro namens is neg, das eine Zahl als Argument erhält und
1 zurückgibt, falls die Zahl negativ ist und ansonsten 0 zurückgibt.
heisst es:
#define is_neg(int z) (z<0) ? 1 : 0
oder
#define is_neg(z) (z<0) ? 1 : 0
frage zu makro
Moderator: Moderatoren
- beafraid88
- Beiträge: 99
- Registriert: Sa 25. Okt 2008, 17:34
- Wohnort: Aachen/Düsseldorf/Mönchengladbach
Re: frage zu makro
Tipp doch mal beides in eine .c Datei und kompilier es.
Bei einem von beiden wird der Compiler sich beschweren.
Tipp: Makros sind keine Funktionen!
Bei einem von beiden wird der Compiler sich beschweren.
Tipp: Makros sind keine Funktionen!
Re: frage zu makro
#define is_neg(z) (z<0) ? 1 : 0
das funktioniert auf jedenfall. ob (int z) da beim makro funktioniert, keine ahnung
das funktioniert auf jedenfall. ob (int z) da beim makro funktioniert, keine ahnung
Re: frage zu makro
Das funktioniert nicht, da die Makros vom Präprozessor abgehandelt werden (also keine Funktion sind, die einen Datentyp für ihre Parameter/Rückgabewerte benötigt) und der keine Ahnung von int, char, double, etc. hat.Bong91 hat geschrieben:ob (int z) da beim makro funktioniert, keine ahnung
Der setzt einfach an jeder Stelle wo im Quellcode "is_neg(z)" steht "(z<0) ? 1 : 0" ein, egal welchen Datentyp "z" hat.