Wundersames ? in C

Liebe Leute!

Wie kann es sein, daß folgender Code:

#include

void main()
{
printf ("? \n");
printf ("?? \n");
printf ("??? \n");
printf ("?A ?B ??A ??B ??AA ??BB ???A ???A \n");
printf (" ???/???\n");
printf ("?/ - /?\n");
printf ("???/???\n");
printf ("??/??\n");
printf ("?/?\n");
printf ("/??\n");
printf ("??/\n");
printf ("/\n");
}

folgenden output erzeugt?:

?
??
???
?A ?B ??A ??B ??AA ??BB ???A ???A
??{/GSUBNR>
?/ - /?
???
??
?/?
/??
\n/

gestoßen bin ich auf das ganze als ich diese GSUBNR Zeile in ein File schreiben wollte. HILFE! Whats up here?

Herbert

Hallo Herbert

Die Antwort lautet: Trigraph.
Schlag mal in der C-Referenz unter diesem Stichwort nach.

Einige Zeichen sind im 7-Bit ASCII Code nicht in jeder Sprachvariante enthalten, werden aber von C benötigt(du hast sicher schon Listings gesehen wo statt ‚[‘ und ‚]‘ immer ‚ü‘ und ‚ä‘ steht).
deshalb wurde folgendes definiert:
??= --> #
??/ --> \
??’ --> ^
??( --> [
??) --> ]
??! --> |
?? {
??> --> }
??- --> ~

Alles klar ?!

MfG Peter(TOO)

Servus Peter!

Ja, alles klar, vielen Dank!

Herbert