Kleine C-Übung


Coding , ,


Heute hat mir ein Kollege einen kleinen C Quelltext geschickt und mich gebeten, das Ergebnis mal nachzuvollziehen, ohne dabei das Programm zu kompilieren. Ich muss sagen, beim ersten Anlauf hatte ich nicht alle Werte der Variablen richtig. Es gibt doch einige Fallstricke ;-)

Aber versucht es mal selber! Was kommt raus? Und bitte nicht kompilieren…

#include <stdio.h>
 
int func (int a, int b) {
	static int c = 1;
	return a + b * (c *= -1);
}
 
int main () {
	int a = 2, b = 3;
	int c = func(a, b);
 
	a *= a++;
	b *= ++b;
 
	printf("%d %d %d %d\n", a, b, c, func(a, b));
}


Kommentar hinzufügen