C语言float类型有点奇怪

 //++++++++++++源代码main.c++++++

#include<stdio.h>
int main(){
      float a = 1.5;
     show(a);
     return 0;
}

//++++++++++++源代码show.c++++++

#include <stdio.h>
void show(float a){
       printf("%f\n",a);
}

编译:gcc -o test main.c show.c

运行后,输出  0.000000      =============>  错误输出

1)、修改:在main.c中加入对show的声明


void show(float);         //添加一条声明
int main()
{
......

}

编译后输出:1.500000       =============>  正确输出

2)、修改:将float换成 int或者char或者double; printf中用相应的输出格式%d,%c

但是不添加show()函数的声明,编译正常输出   =============>  正确输出

 

奇怪吧? int 、char、double类型不用加声明都可以正常输出,而float不行

这是为什么呢?????

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值