以下c程序的输出是:0.000000输出后面是否有逻辑或者是编译器依赖的答案还是我只是得到垃圾值?
#include<stdio.h>
int main()
{
int x=10;
printf("%f", x);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
PS: - 我知道尝试使用%f打印整数值是愚蠢的.我只是从理论的角度来问这个问题.
我执行了以下代码
#include <stdio.h>
int main()
{
printf("%f\n", 9/5);
}
Run Code Online (Sandbox Code Playgroud)
输出: 0.000000
为什么不1呢?
如果我写 printf("%f %f %d %d\n", (float)9/5, 4, sizeof(float), sizeof(int));
那么输出就是 1.800000 0.000000 4 59
为什么不 1.800000 4 4 4
在我的机器上sizeof (float)是4
提前致谢
我想知道为什么这个程序的输出是0.0000:
{
int a = 65;
char c = (char)a;
int m = 3.0/2;
printf("%f\n", 5 / 2);
return (0);
}
Run Code Online (Sandbox Code Playgroud) 我在处理整数和浮点数时看到打印功能异常。
float y = 9/5;
printf("%f", y);
printf("%f", 9/5);
Run Code Online (Sandbox Code Playgroud)
第一个打印语句输出1.000000,可以接受,而其他输出0.000000。为什么两种情况下的输出都不同?