今天作了一个小小的练习题,题目要求如下:将华氏(F)温度换算为摄氏度(C), C=(F-32)/1.8
程序1是我第一遍所写,无论输入多少度,运行结果均是17.777779,
程序2是我经过检查后所写,运行结果正确,
两个程序的不同处我已经用红色标记出,
我现在不明白的是相对第2个程序而言,第1个是怎么运行的,为什么会出现这种结果.
程序1
/*converse tempreture F to C*/
#include <stdio.h>
int main (void)
{
float temC,temF;
temC = (temF - 32)/1.8;
scanf("%f",&temF);
printf("The conversed to C tempreture is %f",temC);
return 0;
}
程序2
/*converse tempreture F to C*/
#include <stdio.h>
int main (void)
{
float temC,temF;
scanf("%f",&temF);
temC = (temF - 32)/1.8;
printf("The conversed to C tempreture is %f",temC);
return 0;
}
问题补充:刚刚重新运行了一下,又发现了新的问题.怎么我没对程序2作任何修改,只是尝试了一下F7键的作用,重新运行之后,当我输入0时结果变得不正确了,结果也变成了跟程序1一样,但输入其它数时似乎结果依然正确,唯独输入0结果会出错,重新编写后依然如此.
咋回事啊?
[此贴子已经被作者于2007-9-26 22:04:36编辑过]