Почему scanf не принимает мой вклад?
Независимо от того, какие входные данные я даю этому коду, формат перепутан, и значения не соответствуют тому, что они должны быть:
#define _CRT_SECURE_NO_WARNINGS #include <iostream> #include <float.h> #include <string.h> double input1 = 0; int main() { double celsius1, kelvin1, rankine1; scanf ("%g", &input1); celsius1 = ((5 *(input1 - 32))/9); rankine1 = (input1 + 459.67); kelvin1 = ((5*rankine1)/9); printf("%g degrees Fahrenheit\n%g degrees Celsius\n%g degrees Kelvin\n%g degrees Rankine", input1, celsius1, kelvin1, rankine1); return 0; }
Вот выход для входа -460.67
-460.67 1.62382e-314 degrees Fahrenheit -17.7778 degrees Celsius 255.372 degrees Kelvin 459.67 degrees Rankine C:\Users\rthom\source\repos\ConsoleApplication1\Debug\ConsoleApplication1.exe (process 20956) exited with code 0.
Я также обязан использовать %g в этом задании для всех переменных, так что я никак не смогу это изменить.
Что я уже пробовал:
Я пробовал инициализировать input1 снаружи и внутри main. Я также пытался объявить переменную в main, но независимо от того, что я сделал, это не сработало. Когда я инициализировал input1 внутри main и удалил &, я получаю исключение null pointer != result.