【发布时间】:2016-02-08 13:56:54
【问题描述】:
我编写了一个将温度从摄氏温度转换为华氏温度的程序。当我输入c 时,代码按预期工作,但是当我输入f 时,它给了我一个随机数:
#include <stdio.h>
int main (void){
float f,c;
printf("x=Ende c=Umrechnung c->f f=Umrechnung f->c:");
if(scanf("c",&c)==c){
printf("Grad Celisius =");
scanf("%f",&c);
f=(c*1.8)+32;
printf("%.2f Grad Celisius sind %.2f Grad Fahreiheit\n",c,f);
}
else if(scanf("f",&f)==f){
printf("Grad fahrenheit =");
scanf("%f",&f);
c=(f-32)/1.8;
printf("%.2f Grad Fahrenheit sind %.2f Grad Fahrenheit",f,c);
}
return 0;
}
如何解决我的问题?
【问题讨论】:
-
“这是错误的”不是错误描述。您预计会发生什么,但会发生什么?
-
当我执行程序并输入 f 将温度从华氏温度转换为摄氏温度时,它给了我一个随机数
-
if(scanf("c",&c)==c) 你为什么写这个?
-
创建条件(如果我输入“c”,将执行以下语法)
-
好哥们,不幸的是 scanf 不能那样工作......
标签: c if-statement scanf