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 <stdio.h>
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.