爱问知识人 爱问教育 医院库

我写c语言不知哪错了

首页

我写c语言不知哪错了

主要内容
{
float x,y;
scanf("%f",&x);
y=2.4*x-1/2;
printf("%f",y);
}
不知哪里错了。请指教

提交回答
好评回答
  • 2018-03-31 10:24:10
    1/2
    这样写会被当成整数的除法,得到的结果是除出来的商(也是一个整数)。
    算术上,1/2=0……1(商0余1)
    所以你那个-1/2相当于-0。
    你可以直接把它写成0.5或者用浮点数的除法来求。
    但是还有一点,浮点型文字常量在缺省情况下被认为是双精度(double)型,单精度文字常量由值后面的f或F来标示。
    包括2.4*x,最后得出的也是一个双精度数。把它附给一个单精度变量的写法可能编译的时候会出现一个警告。所以最好写成2.4f*x。
    综上,可以把
    y=2.4*x-1/2;
    改成
    y=2.4f*x-1.0f/2.0f;

    冷***

    2018-03-31 10:24:10

其他答案

类似问题

换一换
  • C/C++ 相关知识

  • 电脑网络技术
  • 电脑网络

相关推荐

正在加载...

热点检索

  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 170-189
返回
顶部
帮助 意见
反馈

确定举报此问题

举报原因(必选):