Ich bin nicht sicher, was hier vor sich geht, aber ich habe ein Codebeispiel, das nicht produziert, was ich erwarte, hier ist ein Teil in Frage (nur ein Abschnitt):Grundlegende mathematische Problem in C unter Verwendung von Cygwin
printf("Now enter a Fahrenheit to convert to Centigrade\n");
fflush(stdout);
scanf("%f",&c);
d = (c-32)*(5/9);
printf("%f\n",c);
printf("Your result in Centigrade is %f\n",d);
Das Ergebnis, wenn ich 212 für die Eingabe einzugeben: Ihr Ergebnis in Grad Celsius 0.000000
ist, wenn ich eine kleine Änderung vornehmen:
printf("Now enter a Fahrenheit to convert to Centigrade\n");
fflush(stdout);
scanf("%f",&c);
d = (c-32)*5/9;
printf("%f\n",c);
printf("Your result in Centigrade is %f\n",d);
Das Ergebnis jetzt, wenn ich für die Eingabe eingeben 212: Ihr Ergebnis in Centigrad e ist 100.00000, was korrekt ist.
In Mathematik (a + b) * (c/d) ist das gleiche wie (a + b) * c/d; Also, was passiert mit dem Null-Ergebnis nur mit den zusätzlichen Klammern?
Es funktioniert in Java? Bist du sicher? https://ideone.com/gmp86S – MikeCAT
Was ist die Art von 'c'? –
/* Sorry das funktioniert nicht in Java, es leidet das gleiche Problem wie bei C. */ float c = ((a-32) * 5/9); // das funktioniert –