printf 0.0000

Gast #6134139
Lesenswert?

Hallo Zusammen,
ich bin ein blutiger Anfänger in c und brauche bitte eure Unterstützung.

Kann jemand mir bitte sagen warum ich bei diesem Code:

#include<stdio.h>

int main()
{
    float output_voltage;
  printf("give a voltage value:");
  scanf("f", &output_voltage);
  printf("the result is %f\n", output_voltage);
}



wenn ich z.B output_voltage einen Wert = 4 gebe, 0.000000 als Ergebnis 
bekomme?

Danke
Moderator Persönliche Seite #6134151
Lesenswert?

Jörg W. schrieb:
> Weil du das Ergebnis von scanf() gar nicht ausgewertet hast und folglich
> auch nicht weißt, ob es überhaupt erfolgreich war.

Eben, bei fehlendem Prozentzeichen im Scanf-Format kann da auch nichts 
eingelesen werden:
1
scanf("f", &output_voltage);

Besser:
1
    if (scanf("%f", &output_voltage) == 1)
2
    {
3
        printf("the result is %f\n", output_voltage);
4
    }
5
    else
6
    {
7
        fprintf(stderr, "wrong input\n");
8
    }
Beitrag #6134663 wurde von einem Moderator gelöscht.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren