#include<stdio.h>
int main()
{
float a=5.0;
printf("%d",a/a);
return 0;
}
上面的代码给出了输出0
。但是当我使用%f
代替%d
时,它会给1.000000
。我的问题是,当我使用0
时,为什么输出1
而不是%d
?
答案 0 :(得分:1)
%d
用于打印十进制整数值
应使用%f
打印出浮点值
如果没有定义b
,您将收到编译错误。
使用错误的格式说明符会导致未定义的行为(UB)。
作为UB的结果,你看到了0.