|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
输入 1
结果是 x=0.00,y=1.00
我知道输入类型
scanf("%d",&x);
应该改成scanf("%f",&x);
就不会有问题了
但我想知道现在这个结果是 x=0.00,y=1.00怎么来的?
y=x*x+1 运行难道不是 1*1+1等于整型的2吗?
然后赋值给浮点型变量y,y等于2.0,再输出保留两位小数,y等于2.00,为什么不是这样?
代码如下
#include <stdio.h>
int main(){
float x,y;
scanf("%d",&x);
if(-5<x && x<0){
printf("x=%.2f,y=%.2f",x,y=-x+4);
}
//===================================================
else if(0<x && x<5){
printf("x=%.2f,y=%.2f",x,y=x*x+1);//这行!这行!
}
//===================================================
else if(x == 0){
printf("x=%.2f,y=0.00",x);
}
else{
printf("No meaning");
}
return 0;
} |
|