PS:新手上路,第一次接触C语言遇到的问题,请多指教
这个问题呢,是寂寞在敲自己的第几个程序时遇到的呢,问题是在一个程序中同时使用两个scanf语句时,遇到只能输入第一个scanf语句所能够读取到的值,而第二个scanf语句则是被直接忽略了,进而出现执行结果的问题。
#include<stdio.h>
int main()
{
char tempType;
float temp,fahren,celsius;
printf("请输入一个温度:\n");
scanf("%f\n",&temp);
printf("请说出你输入的温度属于下列哪一种类型:\n");
printf("华氏温度:f 摄氏温度:c \n");
scanf("%c",&tempType);
if(tempType=='f')
{
celsius=(temp-32.0)*5.0/9.0;
printf("此华氏温度的摄氏温度为%6.2f\n",celsius);
}
else
{
fahren=temp*9.0/5.0+32.0;
printf("此摄氏温度的华氏温度为%6.2f\n",fahren);
}
return 0;
}
原始的代码编写出来后,会因为上一个scanf语句的输入的回车键而导致在进行下一个scanf语句读取的时候,直接读取上一个scanf的回车,从而不执行第二条scanf语句。
修正的方法为:
1.把第一个scanf 改成
scanf ("%f\n", &c1);
2.在第一个scanf 后添加下面的语句
fflush (stdin);
3.&n

最低0.47元/天 解锁文章
8167

被折叠的 条评论
为什么被折叠?



