5
Ich habe diesen einfachen Code:einen Schwimmer Typ von Funktion in c Rückkehr
int main()
{
float x = foo();
printf("returned value: %f", x);
return 0;
}
float foo()
{
return 5;
}
, wenn ich den Code ausführen, der Ausgang ist: "Rückgabewert: -858.993.472,000000"
kann jemand bitte Erklären Sie mir, warum ist der zurückgegebene Wert nicht 5.000000?
Danke! Ich verbrachte eine Stunde damit ... – MOP
... oder definiere 'foo()' * vor * 'main()'. @MOP: Sie sollten die Warnstufeneinstellungen für Ihren Compiler anpassen; Die meisten Compiler haben davor gewarnt, Warnungen nicht zu unterdrücken oder zu ignorieren. Ich schlage vor, dass Sie auch Warnungen als Fehler setzen (GCC: -Wall -Werror, VC++ \ W4 \ Wx). – Clifford
@Clifford: ... und ich möchte diese Funktionsdefinition auch zu einem Prototyp machen. –