Хорошо так что я должен создать программу погоды и когда я пытаюсь запустить код, я не получаю ошибки, но это будет просто напечатать «ввести начальную температуру» и «ввести конечную температуру». Однако он не позволит мне вводить данные для него. Есть ли что-то, что мне нужно изменить? Я знаю, что я не закончил код, но я просто хотел проверить исходные данные, прежде чем продолжить с остальной частью кода. Спасибо за помощь!Почему printf работает, но scanf нет?
#include <stdio.h>
int main(int argc, char **argv)
{
float celcius, fahrenheit, kelvin, ending, interval;
int c, f, k, temp;
printf("which temperature is being input? (C,F,K) ");
scanf("%d", &temp);
if (temp == c)
{
printf("enter a starting temperature");
scanf("%f", &celcius);
printf("enter an ending temperature");
scanf("%f", &ending);
fahrenheit = celcius * 9/5 + 32;
kelvin = celcius + 273.15;
}
if (temp == f)
{
printf("enter a starting temperature");
scanf("%f", &fahrenheit);
celcius = fahrenheit - 32 * 5/9;
kelvin = fahrenheit - 32 * 5/9 + 273.15;
printf("enter an ending temperature");
scanf("%f", &ending);
if (temp == k)
{
}
printf("enter a starting temperature");
scanf("%f", &kelvin);
fahrenheit = kelvin - 273 * 1.8 + 32;
celcius = kelvin - 273.15;
printf("enter an ending temperature");
scanf("%f", &ending);
}
}
я обычно ведущее пространство в * строках формата зсап(), по крайней мере после первого IIRC, в связи с «\ п» после того как пользователь вводит данные. – technosaurus
проверка из 'функция fgets', вы можете использовать его вместо' scanf' – jev