为什么第九行的代码用%f输出结果永远是0呢(关键词-%d)

img


为什么第九行的代码用%f输出结果永远是0呢,但如果改成%d就正常了。

z和y都是整数,相除结果也是整数。%f只能用来输出浮点数,不能输出整数,否则结果为0 。%d是用来输出整数的
或者输出改为printf("%f",(float)z/y);

1.x和y都是int型,所以x/y也是int型
2.c语言是一种古老的语言,它不自动识别变量类型,需要你告诉它按什么格式输出
3.int型和float型在二进制编码上是很不一样的
你可以算算一个int型的10转换成2进制是什么样,再把2进制按float型转换成数字又是什么,是不是0