Я работаю через "Программирование: Принципы и практика, используя C ++" Страуструпа как новичка, использующего CodeBlocks 10.05 с компилятором GNU GCC.Я застрял в упражнении по отладке калькуляторной программы, потому что любой числовой ввод заканчивался как NaN.Я попробовал его решение, расположенное здесь , с этим заголовком , и обнаружил, что оно дает тот же результат - например, введя следующее (;
используется для печати результата):
2,2;
производит вывод:
= nan
Выполнение того же кода, скомпилированного с Visual Studio 2010, привело к программе, которая дает ожидаемый результат:
= 2.2
Я уменьшил и изменил программу для проверки функции primary () калькулятора с фиксированным вводом и обнаружил, что если закомментированы следующие две строкиCodeBlocks производит ожидаемый результат;если нет, то вывод = nan.Что заставляет это случиться?