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.


  • Mod

    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


Anmelden zum Antworten