Moin,
* Jürgen Wieferink
printf("Der Wert von a = %c\n", a); printf("der Wert von a = %d\n", a);
Ich verstehe jetzt nicht, warum man jetzt auch %d geben kann, um char zu bekommen - man bekommt ja dann 65. char wird aber ja mit %c gemacht - man muss den Datentyp angeben.
ich könnte mir vorstellen, dass ein Problem an dieser Stelle darstellt, dass man printf hier ja gar nicht mitteilt, ob die übergebene Variable vom Typ 'char' oder 'int' ist.
Stimmt, das ist auch nicht möglich, weil printf() in erster Näherung nicht zwischen char und int unterscheidet. Es wird lediglich unterschieden, ob die Variable als Integer (!=int) oder Zeichen ausgewertet wird.
Wenn ich das alles richtig verstehe, tut sich das aber nichts, weil eh auf 'int' gecastet wird, weil man ein einzelnes Byte nicht übergeben kann.
Von Bytes ist nicht die Rede, bring nicht die Eigenschaften von C und von der Hardware durcheinander.
Dann heißen also %c und %d beide, dass ein 'int'-Parameter kommt, und unterscheiden sich nur in der Interpretation des Wertes als Zahl oder Buchstabe.
Nein, über den Typ wird nichts gesagt. Thorsten -- A: Top posters Q: What's the most annoying thing about email these days?