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.