Hoi,
Ich hab so zur Übung ein Programm versucht, das 2 Kommazahlen
addieren soll, so weit so gut. Wenn ich jetzt aber zB 12.4 und
45.67 eingebe, schreibt er mir hin : Die Summe von 12.400000
und 45.669998 ergibt 58.070000 . Warum ist das so ?
Warum das so ist kann ich dir leider nicht sagen.
Dann sei doch still?
Das wurde in den anderen Postings hier schoen klar und deutlich
erklaert.
Tritt der Fehler auch auf, wenn du double anstelle von float
benutzst?
Ja, allerdings nicht in einer so starken Form.
#include <stdio.h>
float x, y, z;
Ohohohoh, was ist denn das?
Eine Variablen-Deklaration, wahrscheinlich.
Gehört das nicht in die main-Funktion?
Das kommt darauf an.
Oder gibt es eine neue Methode um globale Variablen in C zu
deklarieren, von der ich nichts mitbekommen hab?
Ganz offensichtlich.
Globale Variablen werden *ueber* der Funktion 'main' deklariert.
Variablen innerhalb von 'main' haben den Gueltigkeitsbereich nur
innerhalb von 'main', nicht ausserhalb.
float summe(float x, float y);
int main(void) {
Hier gehört nun die deklaration hin:
float x, y, z;
Wenn sie nicht global sein sollen, ja. Ansonsten ist das falsch.
Gruesse aus dem schoenen LH,
c.j.k