作业帮 > 综合 > 作业

一个C语言double值减double值问题

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/05/18 00:05:12
一个C语言double值减double值问题
代码是这样的
\x05\x05\x05\x05total=coke+prok+biscuit+milk+orange;
\x05\x05\x05\x05printf("应付:%g\n",total);
\x05\x05\x05\x05printf("付款:");
\x05\x05\x05\x05scanf("%f",&pay);
\x05\x05\x05\x05printf("应找:%g\n",pay-total);
当pay和tota都是定义为double类型时pay-total输出来结果就是付款金额的负的
在scanf("%f",&pay);加了一句printf("%f",pay)输出来的结果就是0.000000,
要是pay定义为float类型 那么pay-total结果就是正确的,这是为什么?
scanf("%f",&pay); 这里%f是用于float的吧?我记得double是%lf.