Nehmen wir an, ich habe die Ganzzahl 89, wie kann ich den ASCII-Wert von 89, der Y ist, ausdrucken, anstatt nur die Zahl 89 auszudrucken?Wie wird ASCII statt Integer in C gedruckt?
Antwort
Verwenden Sie den c
Konvertierungsspezifizierer:
printf("%c\n", (char) 89);
oder wie von chqrlie ‚s comment, einfach nur darauf hingewiesen:
printf("%c\n", 89);
oder mit Kontext:
char c = 89; /* or int c = 89; */
printf("%hhd is '%c'.\n", c, c);
Referencing the C11 Standard (draft):
7.21.6.1 Die Funktion
fprintf
[...]
8 Die Konvertierungsspezifizierer und deren Bedeutung sind:
[...]
c
[...] das
int
Argument wird in eineunsigned char
konvertiert, und das resultierende Zeichen wird geschrieben.
Der '(char)' Cast ist nicht notwendig. Das Argument für '% c' ist ein' int' und sein Wert wird intern durch 'printf' in 'unsigned char' umgewandelt. – chqrlie
@chqrlie, aber es macht die Absicht klar. Dies ist kein Fehler beim Formatieren. Außerdem kann es einige populäre Compiler daran hindern, sich zu beschweren, wenn sie die Formatzeichenfolge validieren. – StoryTeller
@StoryTeller: Welcher Compiler würde sich über 'printf ("% c \ n ", 89) beschweren;'? – chqrlie
Sie Angenommen, haben eine ganze Zahl int value = 89;
Sie können
Verwendung
printf("%c", value);
stattprintf("%d", value);
.oder einfach
putchar(value);
ist jedoch zu beachten, dass Y
nicht der ASCII-Wert von 89
ist. Es ist umgekehrt: Das Zeichen Y
hat einen ASCII-Wert von 89
. Die C-Sprache unterstützt neben ASCII andere Zeichensätze, so dass 'Y'
nicht unbedingt den Wert 89
hat, tatsächlich ist der Wert 232
auf IBM Mainframes, die immer noch den EBCDIC-Zeichensatz verwenden.
- 1. Wie wird nebeneinander statt vertikal gedruckt?
- 2. Wie konvertiert man Ascii Integer in char in C#?
- 3. Wie wird mit rekursiv in C gedruckt?
- 4. Wie wird Integer mit 0 als Dezimalwert gedruckt?
- 5. Umkehren Array in c - wird nicht gedruckt -
- 6. C++ - Benutzer gibt Gleitkomma statt Integer ein
- 7. C++ Wie wird eine Zeichenfolge rückwärts gedruckt?
- 8. C/C++: Wie konvertiert man 6bit ASCII in 7bit ASCII
- 9. Wie dieses Wort "☻" im Konsolenfenster gedruckt wird? (C/C++)
- 10. Wie wird ein einzelnes Array-Element in Objective-C gedruckt?
- 11. Wie wird der Code gedruckt? Übung in C
- 12. Wie wird das folgende Codefragment (in C) gedruckt?
- 13. c - Letzter Aufruf Funktion wird gedruckt wieder
- 14. c printf ("% x"), was wird gedruckt?
- 15. c Warum wird eine negative Zahl gedruckt?
- 16. Wie Integer automatisch char in ASCII-Wert konvertieren?
- 17. Wie wird mehrseitiges WPF gedruckt?
- 18. Wie wird * im Dreieck gedruckt?
- 19. Text statt Integer in Excel Formel
- 20. Wie wird in iReport horizontal gedruckt?
- 21. Wie wird ein Zeilenumbruch in Java gedruckt?
- 22. Wie wird Array in Label gedruckt?
- 23. Sortieren nach kartiert Zeichenfolge statt integer
- 24. console.log wird nicht undefiniert gedruckt?
- 25. RabbitListener String als ASCII Rückkehr statt String
- 26. Wie wird das Histogramm des geordneten C++ - String-Arrays gedruckt?
- 27. Wie zu vermeiden Drucken ASCII-Wert in c?
- 28. Wie wird ein Pfund/Hash über C-Präprozessor gedruckt?
- 29. Wie wird die Beendigung dieses Programms gedruckt?
- 30. Wie wird ein Unicode-Zeichencode in Python gedruckt?
'printf ("% c ", Wert)' –
Darf ich vorschlagen, lesen Sie die comp.lang.c FAQ unter http://c-faq.com/ Es hat eine Vielzahl von Antworten für solche grundlegenden Fragen, und die schwierigeren. – Jens
@Arctic_Skill: Sie können eine der Antworten akzeptieren, indem Sie auf das graue Häkchen unterhalb der Punktzahl klicken. – chqrlie