C语言,将浮点数输出为十六进制为什么输出是0,如何改

#include<stdio.h>
int main ()
{
float a=64646464;
printf("your is %x",a);
getchar();
return 0 ;
}

第1个回答  2019-02-23
浮点数以%x格式输出会出现异常,需要强制进行类型转换,
将printf("your is %x",a);改为:
printf("your is %x",(int)a);本回答被提问者采纳
第2个回答  2019-03-01
%e
输出的是浮点数的科学计数法表示。如9999.1
用%f
形式输出的话,就是9999.1,用%e形式输出的话,就是9.9991*e3

大概就是这样了,不记得有%a这种输出形式了。
相似回答