编程问题,C语言?
小白,初学C语言,今天自己瞎折腾了一下,发现这个运行出来是这样子的,前面函数定义double改成float就没问题,为什么double就显示不出来呢,查了很久都没查到,有...
小白,初学C语言,今天自己瞎折腾了一下,发现这个运行出来是这样子的,前面函数定义double改成float就没问题,为什么double就显示不出来呢,查了很久都没查到,有大神解释一下吗,double不是比float范围更大精度更高吗
是不是和编译器有关,我用code block写的 展开
是不是和编译器有关,我用code block写的 展开
展开全部
这个跟变量的类型无关,和scanf函数的控制符%f有关。
在scanf函数中,%f对应单精度的float类型,如果要输入双精度double类型,应该用%lf。
而在printf函数中,%f同时对应float和double。
所以,如果定义 double num2;的话,要写成scanf("%lf",&num2);
在scanf函数中,%f对应单精度的float类型,如果要输入双精度double类型,应该用%lf。
而在printf函数中,%f同时对应float和double。
所以,如果定义 double num2;的话,要写成scanf("%lf",&num2);
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询