在c语言中3/2为什么等于0
我的程序是这样的#include<stdio.h>main(){printf("%f\n",3/2);}为什么结果会等于0:...
我的程序是这样的
#include<stdio.h>
main()
{
printf("%f\n", 3/2);
}
为什么结果会等于0: 展开
#include<stdio.h>
main()
{
printf("%f\n", 3/2);
}
为什么结果会等于0: 展开
6个回答
展开全部
你后面的3还有2是整型,除下来的结果是整型,但是你的输出确实浮点型,编译器就出错了啊……需要强制转换;
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
3默认的是int型的常量,所以3/2的输出结果为了与被除数一致就输出1,也就是说C中3/2运算结果是1,但是我们要的是 “%f” ,也就是要的小数,要把int 型的1转化成 float型,结果只会是0.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
因为编译时候没法知道其是什么类型的数,所以可以稍微改一下,在3和2后面加一个小数点
#include<stdio.h>
main()
{
printf("%f\n", 3./2.);
}
#include<stdio.h>
main()
{
printf("%f\n", 3./2.);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
3,2都是整数,你再用3.0/2.0试试
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询