Warum char statt int, alles ist ASCII
-
Hallo,
ich habe Eine Frage zur Lösung von Beispiel 2 aus diesem C Tutorial:
http://www2.pmf.fh-goettingen.de/~isimon/Informatik/PronixCKurs/a7.htmlWarum funktioniert das Programm nicht ordnungsgemäß, wenn a,b und c int statt char sind? Die Variable speichert doch so oder so den ASCII code der eingegebenen Zeichen, dementsprechend müsste es egal sein, welche Art von variable vorliegt.
-
das gehört zu C. Bitte das ANSI C Forum benutzen: http://www.c-plusplus.net/forum/viewforum-var-f-is-10.html
Ich denke mal es liegt daran, dass du bei scanf den parameter nicht geändert hast:
scanf("%d", meinInt); // für int scanf("%c", meinChar); // für charmfg.
-
Also, bei mir funktioniert es: Wenn die Variablen vom Typ int sind und mit %c eingegeben werden, kommt das gleiche Ergbenis, als wenn sie vom Typ char wären.
-
NES-Spieler schrieb:
Also, bei mir funktioniert es: Wenn die Variablen vom Typ int sind und mit %c eingegeben werden, kommt das gleiche Ergbenis, als wenn sie vom Typ char wären.
undefiniertes verhalten (C99 7.19.6.2/10). es kann alles passieren einschließlich der erwarteten ausgabe. es ist plausibel, dass das ganze z.b. auf einem x86 pc funktioniert. auf einem PowerPC-mac zum beispiel aber wahrscheinlich nicht.