课程
/后端开发
/C
/C语言入门
#include <stdio.h>int main(){ double num = 2.5; //定义浮点型变量num并赋值为2.5 printf("%d\n",num); return 0;}
结果为什么是:157186888,以%d输出就是以带符号的十进制整数输出呀,应该也是2呀?
2016-03-15
源自:C语言入门 2-9
正在回答
没有把浮点型num强制转换为整型
%d是整型,而num是double,结果肯定是错误的,
c存在自动类型转换和强制类型转换,int可以自动转换成double,但double不能自动转换成int,只能强制转换,printf("%d\n",(int)num);
举报
C语言入门视频教程,带你进入编程世界的必修课-C语言
1 回答输入一个双精度数,输出它的整型值
4 回答定义i=2,printf("%d,%d,%d",i,++i,i++);输出的结果为什么是3,3,2啊??
3 回答double不是双精度型吗
2 回答如何区分单精度和双精度
4 回答为什么这个里面给num赋的值是2.5,却要用双精度double,不应该用float吗