In C eine Zahl als Variable eingeben OHNE Enter (Bestätigung)?

2 Antworten

Das kommt daher, dass dir das ganze als ASCII-Code interpretiert wird, wenn du es in einem INT speicherst:

https://www.ascii-code.com/

Dezimal 53 = "5" als Zeichen

Woher ich das weiß:Studium / Ausbildung – Masterstudium Elektrotechnik - Schwerpunkt Embedded Systems
maximilian15366 
Fragesteller
 10.05.2022, 16:33

Kann man dass umgehen?

0
SirNik  10.05.2022, 16:39
@maximilian15366

nein, ist aber auch nicht nötig. Das Zeichen '5' hat die ASCII Darstellung 53. Statt (eingabe == 5) zu machen, kannst du also (eingabe == 53) nehmen. Aber selbst das ist nicht nötig, da du auch direkt das Zeichen '5' verwenden kannst: (eingabe == '5'). Siehst du diese ' ? Das kannst du für character (zeichen) verwenden. Also alles wofür du das Zeichen meinst (also die Symbole 0-9, a-z, A-Z,!.:-_ und vieles mehr) kannst du mit ' im Code angeben und C weiß dann was du meinst und du musst nicht ASCII auswendig können.

weitere Beispiele:
(eingabe == '1') für das Symbol 1

(eingabe == 'a') für das Symbol a

usw.

1