#include<stdio.h>
int main()
{
printf("%d",EOF);
}
生成 -1 这完全没问题,但是
#include<stdio.h>
int main()
{
printf("%f",EOF);
}
产生 0.000 。当预期输出为 -1.000 时,有人如何解释这一点?
最佳答案
对 printf()
中的任何特定参数使用错误的格式说明符会调用 undefined behaviour .
EOF
是 int
类型。您只能将 %d
用于 int
类型的变量。
FWIW,如果你想要 int
的浮点表示,你必须cast
变量(但我个人建议避免这种情况)
printf("%f",(float)EOF);
关于c - 使用 %f 输出 EOF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30731880/