Nicht angemeldet. · Kennwort vergessen · Registrieren

anne
Mitglied seit 12/2010
45 Beiträge
Betreff: Unterschied Makro und Funktion
Hallo,
in der Klausur Juli 2008 (1e) sind makros gegeben und man soll die operation durchführen meine lösung ist hier 10, weil man mit textersetzung arbeitet

und in der klausur oktober 2008 sind funktionen geben und man soll das gleiche machen, hier hat man mir gesagt man rechnet die werte hier zusammen zum schluss erhält man als ergebnis 50

warum macht man das so und was ist der unterschied?

danke für eure antworten
Kille
Mitglied seit 05/2011
8 Beiträge
Hallo anne,

Makros funktionieren tatsächlich durch reine Textersetzung. D.h. dass überall wo dein marko FOO im Code steht, der Präprozessor das FOO exakt durch das das definierte Zeugs ersetzt wird. Bei der aufgabe folgt also, dass aus 4 * MUL( ADD(1,2), 3) das hier wird: 4*1+2*3 und wenn man das (mit Punkt vor strich) ausrechnet kommt da eben 10 raus.

Bei Funktionen wird ein Wert von dem typ zurückgegeben, der in der in der Fkt. Deklaration als rückgabetyp drin steht. also bei einer int foo() wird ein int zurückgeben. Und zwar genau EIN int. wenn also return 1+2; da steht, wird nicht "1+2" zurück gegeben, sondern das ergebnis, also 3.

Und somit wird dann aus 5 * mul( add(4,1), 2) das hier: 5*mul(5,2) => 5*10 =50.

Ich hoff ich hab dich damit jetzt nicht noch mehr verwirrt.
Dieser Beitrag wurde am 04.08.2011, 23:17 von Kille verändert.
morty
SPiC-Meister
(Moderator)
Mitglied seit 05/2011
331 Beiträge
Zitat von Kille:
5*10 =10.

Ich hoff ich hab dich damit jetzt nicht noch mehr verwirrt.

Eher dich selbst! ;)
anne
Mitglied seit 12/2010
45 Beiträge
Antwort auf Beitrag #2
danke für die erklärung war an sich gut verständlich..jetzt bin ich schlauer

und ergebnis ist 50...
Kille
Mitglied seit 05/2011
8 Beiträge
Ja, was sagen die tutoren da immer? "Das war ein Test" :D
Schließen Kleiner – Größer + Auf diesen Beitrag antworten:
Prüfcode: VeriCode Gib bitte das Wort aus dem Bild ins folgende Textfeld ein. (Nur die Buchstaben eingeben, Kleinschreibung ist in Ordnung.)
Smileys: :-) ;-) :-D :-p :blush: :cool: :rolleyes: :huh: :-/ <_< :-( :'( :#: :scared: 8-( :nuts: :-O :troll:
Weitere Zeichen:
Gehe zu Forum
Powered by the Unclassified NewsBoard software, 20110527-dev, © 2003-8 by Yves Goergen