Ich habe ein Doppel output
, die gedruckt wird als -0.000000
negative doppelte Null ungleich Null?
ich eine Schleife haben, die sagt:
if (output == 0) {
printf("Continuing to go STRAIGHT.\n");
}
else if (output > 0) {
printf("Turning LEFT.\n");
}
else if (output < 0) {
printf("Turning RIGHT.\n");
}
Dies hält die dritte Bedingung Druck und sagte, dass -,000000 weniger als 0 Warum ist dies und wie kann ich das Problem beheben?
Sind Sie sicher, dass es -0 ist? Wenn Sie 'printf (" output =% f \ n ", Ausgabe);' direkt vor diesen Zeilen hinzufügen, was wird gedruckt? – dbush
Wie wird 'Ausgabe' zugewiesen? – dbush
Das Vergleichen von Fließkommazahlen mit '==' wird (grundsätzlich) nie funktionieren. – UnholySheep