小白问题
时间:2008-05-09 10:18:49
来源:论坛整理 作者: 编辑:chinaitzhe
float i=123456.1234;
printf("%d %f %e %g\n",i,i,i,i);
printf("%d ",i);
printf("%f ",i);
printf("%e ",i);
printf("%g ",i);
结果是:
0 0.000000 5.387278e-315 5.38728e-315
0 123456.125000 1.234561e 05 123456
为什么结果中第一行和第二行不相同?
想不明白了~
网友回复:我猜测可能是因为第一个printf中i被%d截断的原因吧
网友回复:不过为什么没有改变i的值呢?
网友回复:第一行printf执行多个输出时,会从右至左对输出元素进行压入栈过程中数据i在内存中转换时出现问题
网友回复:多谢了~
关键字:白问题,
上一篇:不懂!希望得到具体的解释
下一篇:下面没有链接了











文章评论
共有 0 位网友发表了评论 此处只显示部分留言 点击查看完整评论页面