十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
严格来讲,你的代码是错误的,用int的b接收double型的a的计算结果,是不可以的,即使结果是整数。
成都创新互联公司-专业网站定制、快速模板网站建设、高性价比融水网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式融水网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖融水地区。费用合理售后完善,10余年实体公司更值得信赖。
结果当然也会出现误差。正确的应该是:
double a=10.3845;
double b;
b=10000*a;
printf("%lf",b);
补充:把上面 printf("%lf",b);改为printf("%.0lf",b); 就能使后面无小数。
#include stdio.h // 包含系统头文件要用 , 自定义头文件用 ""
float mul(float x,float y); // 函数声明
float mul(float x,float y) // 函数定义
{
return x * y;
}
int main()
{
float x, y, z;
scanf("%f,%f",x, y); // 这里要取地址, 且你的输入必须是例如: 20.0, 30.0, 如果 20.0 30.0, 则会结果是 0.00, 这是因为第二参数没有接收到输入
z = mul(x,y);
printf("The result is %.2f", z); // 这里输出不能取地址, 并且格式为含两位有效数字
return 0;
}
#include stdio.h
//计算两数相乘函数
int multi(int x,int y)
{
return x*y; //返回两数相乘结果
}
int main()
{
int m,n;
printf("输入两个整数: ");
scanf("%d%d",m,n);
printf("%d * %d = %d\n",m,n,multi(m,n)); //调用函数,输出结果
return 0;
}