Der Martin: (C) Überschüssiges Leerzeichen

Beitrag lesen

Hallo Mathias,

*   - den Flächenumfang (=6a*a),

den Ausdruck "Flächenumfang" lese ich zum ersten Mal; für mich hieß das bisher einfach "Oberfläche".

int clength = sizeof(c) / sizeof(calc);

Tip: Die Anzahl der Elemente in einem Array braucht man öfter mal. Es ist praktisch, sich dafür ein Makro zu definieren und das in einem persönlichen Standard-Include unterzubringen:

#define ARRAYSIZE(x)  (sizeof(x)/sizeof(x[0]))

Dann im Programmcode:

int clength = ARRAYSIZE(c);

Flächenumfang: 96
                 Volumen: 64
Länge der Raumdiagonale: 6

Hat jemand eine nachvollziehbare Erklärung für das zusätzliche Leerzeichen in der Zeile „Volumen“?

Ja: Mein ewiger Krieg gegen UTF-8. ;-)
Ich vermute, dein C-Sourcecode ist in UTF-8 gespeichert? In der ersten und dritten Zeile enthalten die Strings je ein Sonderzeichen, das in UTF-8 mit zwei Bytes codiert wird. Davon weiß die Standardfzunktion strlen() aber nichts, sie zählt die zwei Bytes als zwei Zeichen.

Viel Spaß und einen schönen Abend noch,
 Martin

--
Ich stehe eigentlich gern früh auf.
Außer morgens.