#include <stdio.h>
#define F(x) 32 + (x*9)/5
int main(void)
{
int F,C;
printf ("Enter temperature in celsius=");
scanf ("%d",&C);
F(C);
printf (" %d fahrenheit = %d celsius\n", F, C);
return 0;
}
Когда вход 10 цельсию, то выходит некоторые, как:Логическая ошибка - конвертировать FAH в градусы Цельсия
1798680630 fahrenheit = 10 celsius
я пишу формулу неправильно? Я не могу понять ошибку. Просто начинающий, проходя мой учебник. Спасибо!
Вы забыли добавить 'F =' перед 'F (C)', потому что вы хотите присвоить значение ваша переменная 'F'. http://ideone.com/Xc6c3x – mch
[Запутайте людей?] (https://blog.codinghorror.com/coding-for-violent-psychopaths/) –
Прежде всего, учитывая, что это ints, вы можете потерять слишком много информации при разделении. Во-вторых, вы не должны (не можете) иметь как переменную F, так и макрос F, она должна иметь ошибки. См. Ответы ниже о том, почему ваш код не работает – neoaggelos