首页 新闻 会员 周边

c语言问题?

0
悬赏园豆:10 [待解决问题]

#include <stdio.h>
#include <stdlib.h>

int main()
{
int num=100;
// float dd=num;
//printf("%f",dd);
printf("%f",num);


return 0;
}

这个为什么输出是0,换成注释句,就对,换成%c也可以输出,但是我想知道为什么把num改成多大的数字或者负数,当前输出都是0.000000

好想和站位木有啥关系。。。。请帮忙解释下这种事情的原因。。。。

邗影的主页 邗影 | 初学一级 | 园豆:73
提问于:2017-04-08 12:36
< >
分享
所有回答(2)
0

float是单精度浮点型,即在没有限制的情况下,默认六位小数。%c,用来输出一个字符。%f没有定义所以是0

ycyzharry | 园豆:25653 (高人七级) | 2017-04-09 00:57

%f为什么没定义,2f%输出的也是0.00,你所谓的未定义是啥意思呢?

支持(0) 反对(0) 邗影 | 园豆:73 (初学一级) | 2017-04-09 10:31

.2f% 全是零的0.00

支持(0) 反对(0) 邗影 | 园豆:73 (初学一级) | 2017-04-09 10:32
0

float dd=num;对num进行了强制转换,printf("%f",num);未进行转换,输出默认值,即0

云深不i知处 | 园豆:202 (菜鸟二级) | 2017-04-09 09:47

你要是这样说,那我改成c%也没进行强制转换,可是就输出不是0

支持(0) 反对(0) 邗影 | 园豆:73 (初学一级) | 2017-04-09 10:34
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册