作业帮 > 综合 > 作业

关于C语言的一道题:#include int main(void){printf("%f\n",5);printf("%

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/10/06 18:37:41
关于C语言的一道题:
#include
int main(void)
{
printf("%f\n",5);
printf("%d\n",5.01);
return 0;
}
请问这道题的输出结果是什么?为什么?
0.000000
1889785610
再问: printf("%f\n", 5); 这句话每次编译、运行之后的结果都不一样,请问为什么啊?我是在Linux下用gcc编译器,编译运行的!第二个结果是对的:1889785610,不过这个结果怎么来的,还麻烦明示,不胜感激!
再答: #include int main(void) { printf("%f\n",6.0); printf("%d\n",5.01); return 0; }这样就可以了 %f 标明是输出小数形式,那么输出函数就输出小数所占用字节的内存块里的值(假设64位),而你提供的是整数(假设32位),那么输出函数取得的值是从整数本身那32位及接下去的32位共64位存储地址上取值,和整数值不同的,也是错误的。