Am Samstag, 30. August 2003 10:46 schrieb Hilmar Preusse:
On 29.08.03 Tom Guder (tom-guder@web.de) wrote:
Hallo!
Ich habe eine kleine Unklarheit in C entdeckt (wahrscheinlich seh' ich den Wald vor lauter Bäumen nicht)
Beispiel
void main(void) { float a = 0.41, b=1.22; rechne(a, b); return 0; }
void rechne(float z, float y) { printf("%f, %f", z, y); return 0; }
z und y stimmen nun aber nicht mit a und b überein!?
Dein Beispiel wirft bei mir eine Masse Warnings z.B.:
a.c:6: warning: previous implicit declaration of `rechne' a.c:11: warning: `rechne' was previously implicitly declared to return int'
Einfügen von "void rechne(float z, float y);" am Anfang behebt den Fehler (ohne die "). Merke: Funktionen die man benutzt immer deklarieren.
Und wie deklariere ich die Funktion eher, wenn sie in einem anderen Modul steht? (Bin immer noch Newbee in C, bitte habt Geduld...)
Weiter: void als return-Wert einer Funktion ist nicht wirklich schön.
H.