Простые пробеги программы для Windows в Linux Terminal, но не в Windows, CMD

голоса
1

Я пытался понять, что происходит с этим кодом «под капотом» с помощью GDB.

Проблема заключается в том, что GDB работает в Linux терминала и, как указано в названии, я получаю ожидаемый (логический) вывод каждый раз, когда я запускаю этот код здесь.

Я думаю , что проблема лежит arount returnс func().

Запуск же код cmdдает «не равно» и terminalдает «равный». Почему это происходит?

Я использую gccдля компиляции кода

Вот код:

 #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;
}
Задан 19/03/2020 в 23:53
источник пользователем
На других языках...                            

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