输出问题
#include<stdio.h>main()
{
float f=5.75;
printf("(int)f=%d,f=%f\n",f,f);
}
有谁知道上述语句的输出结果为什么是0和0.000000吗?
”(int)f=%d“中%d是表示整型;
" f=%f “ 中 ”%f“表示的是浮点型;
整型与浮点型应该懂了吧??? 1023164945 发表于 2013-10-6 20:47 static/image/common/back.gif
”(int)f=%d“中%d是表示整型;
" f=%f “ 中 ”%f“表示的是浮点型;
那后者不是应该正常显示的吗?为什么输出是0.000000呢? DragonL915 发表于 2013-10-6 20:53 static/image/common/back.gif
那后者不是应该正常显示的吗?为什么输出是0.000000呢?
因为在 “printf”里面不能强制类型转换,第一个为0;既然前面都是0,那后面部用说,肯定也是0;
分开用两个“printf”就行了;
要想强制类型转换可以在前面加:
int a;
a = f;
就OK了;
希望对你有帮助 1023164945 发表于 2013-10-6 21:42 static/image/common/back.gif
因为在 “printf”里面不能强制类型转换,第一个为0;既然前面都是0,那后面部用说,肯定也是0;
分开用 ...
真的诶,谢谢你的帮助:handshake DragonL915 发表于 2013-10-6 21:46 static/image/common/back.gif
真的诶,谢谢你的帮助
不客气,我也是新手,教程看完了也是一知半解,来这跟大家交流交流的
其实就调试而已,懂得的话能解决很多问题 main()
{
float f=5.75;
printf("(int)f=%d,f=%f\n",(int)f,f); //这里第一个变量加上一个强制类型转换就可以了。
}
页:
[1]