15.06.2008

printf und die Anzahl an Argumenten

Variable Argumente in C scheinen ja auch besonders schwierig zu sein, oder man weiß es nicht, wieso printf so seltsam auf eine fehlerhafte Anzahl Argumente reagiert:

#include
int main(void) {
	int foo = 1;
	int bar = 0;
	printf("%d, %d\n", foo && bar);
	return 0;
}

Mal schnell die Berechnung einer boolschen Variable in printf gejagt und vergessen die && gegen Kommas zu ersetzen und schon sieht man die seltsamsten Ergebnisse:

0, -1079242984

In welchem Speicher printf da wohl nach dem zweiten Integer sucht? Wie schön sind doch Exceptions… Nach so einem Fehler kann man ewig suchen.

Hinterlasse einen Kommentar

Dein Kommentar:

Kategorien