Einfaches Windows-Programm läuft in Linux Terminal aber nicht in Windows cmd

stimmen
1

Ich habe versucht, zu sehen, was an diesen Code geschieht „unter der Haube“ mit GDB.

Das Problem ist, dass GDB arbeitet in Linux-Terminal und, wie im Titel angegeben, ich die erwarteten (logische) Ausgabe erhalten, wenn ich diesen Code in hier laufen.

Ich denke , das Problem liegt arount das returnaus func().

Den gleichen Code läuft in cmdgibt „gleich nicht“ und in terminalsie „gleich“ gibt. Warum passiert dies?

Ich verwende gccden Code zu kompilieren

Hier ist der Code:

 #include <stdio.h>

double func(){
     double y= 5 ;
     return (double)y/3;

    /*// Code that works as expected:
    double y= (double)5/3;
    return y;
     */
}

    int main()
{

    double x ;
    x= (double)5/3;

    if (x == func())
        printf(%lf equal to %lf\n, x ,func());
    else
        printf(%lf not equal to %lf\n, x, func());

    return 0;
}
Veröffentlicht am 19/03/2020 um 21:53
quelle vom benutzer
In anderen Sprachen...                            

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more