本帖最后由 Dr丶温 于 2018-2-12 09:27 编辑
我只要键入q就无限循环下去了,不求甚解。。。#include <stdio.h>
void Temperatures(float shuru)
{
const float yidianba = 1.8;
const float sanshierdianling = 32.0;
const float erqisandianyiliu = 273.16;
float sheshidu, jiudui;
sheshidu = yidianba * shuru + sanshierdianling;
jiudui = sheshidu + erqisandianyiliu;
printf("%.2f 华氏度 = %.2f 摄氏度 = %.2f 绝对温度\n", shuru, sheshidu, jiudui);
}
int main(void)
{
float shuru;
printf("请输入华氏温度:");
scanf("%f", &shuru);
while(shuru != 'q')
{
Temperatures((float)shuru);
printf("请继续输入(输入q退出):");
scanf("%f", &shuru);
}
getch();
return 0;
}
应该是scanf函数的问题,你用%f去接受一个字符类型的输入导致输入流出现异常,每次数据读取都不正确并且无法清空输入流中的数据
|