Zeichen in int variable einspeichern
-
Geben Sie die Anweisung zum Einlesen eines Zeichens von der Tastatur an. Der eingele- sene Zeichen-Code soll in einer int-Variablen gespeichert werden. Warum ist es sinnvoll, die int-Variable vor dem Lesen auf 0 zu setzen?
hey ,
ich hatte total den falschen Ansatz kann mir da einer weiterhelfen?[code="c"] scanf(“%d,&Zahlenspeicherung);
-
Dein Scheißernst?
Rotzt die Aufgabenbeschreibung vor der Einleitung hin, und machst dir dann nicht mal die Mühe, den verfickten Vorschaubutton zu verwenden?
Groß, ganz groß.
Im Übrigen: du suchst
getc
.Die Variable vorher auf 0 zu setzen bringt dir gar nichts, es sei denn, dass die Möglichkeit besteht, dass die Variable noch mal gelesen wird, bevor sie zugewiesen wird. Ansonsten ist das ein
dead store
. Wenn dein Compiler gut ist, eliminiert er deine erste Zuweisung. Wenn nicht, dann nicht.
-
dachschaden schrieb:
Die Variable vorher auf 0 zu setzen bringt dir gar nichts, es sei denn, dass die Möglichkeit besteht, dass die Variable noch mal gelesen wird, bevor sie zugewiesen wird. Ansonsten ist das ein
dead store
. Wenn dein Compiler gut ist, eliminiert er deine erste Zuweisung. Wenn nicht, dann nicht.Ich befürchte, der Lehrer möchte
scanf('%c', &intvariable)
. Was natürlich Müll ist, aber in dem Fall würde das Nullsetzen Sinn machen.
-
SeppJ schrieb:
Ich befürchte, der Lehrer möchte
scanf('%c', &intvariable)
. Was natürlich Müll ist, aber in dem Fall würde das Nullsetzen Sinn machen.Wenn das tatsächlich der Fall sein sollte, gehört der Lehrer weg. Es wird eindeutig besagt:
man scanf schrieb:
the next pointer must be a pointer to char, and there must be enough room for all the characters (no terminating null byte is added).
Ansonsten hast du natürlich recht.
-
SeppJ schrieb:
dachschaden schrieb:
Die Variable vorher auf 0 zu setzen bringt dir gar nichts, es sei denn, dass die Möglichkeit besteht, dass die Variable noch mal gelesen wird, bevor sie zugewiesen wird. Ansonsten ist das ein
dead store
. Wenn dein Compiler gut ist, eliminiert er deine erste Zuweisung. Wenn nicht, dann nicht.Ich befürchte, der Lehrer möchte
scanf('%c', &intvariable)
. Was natürlich Müll ist, aber in dem Fall würde das Nullsetzen Sinn machen.Es funktioniert im übrigen, wenn überhaupt, nur auf little endian systemen.
VG