bei folgender Konsterlation bekomme ich vom Compiler immer eine Fehlermeldung. Wie bekomme ich diese weg? Funktionieren tut es zumindest. int main (void) { char cBuffer[10]; float fFoo = 1.5; sprintf( cBuffer, "%.2f", fFoo ); while(1); return 0; } warning: double format, float arg (arg 3) %f steht doch für float?
Nein. %f steht nur bei scanf für float. Da printf eine variadische Funktion ist, wird jeder float immer in einen double gewandelt. Folgerichtig steht %f bei printf für double. sprintf( cBuffer, "%.2f", (double)fFoo ); sollte die Warnung beseitigen.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.