最近学习C语言遇到一些疑惑,经过测试之后总结如下:
1.int整数除以小数,并用%d输出结果
int i;
i = 6/1.1;
printf("%d",i);
输出结果为5。
过程是6/1.1=5.45454545454545
但是i是整数,所以会自动除去小数部分,结果只剩整数部分5,不是四舍五入。
也不会除去1.1中的0.1变成6/1。
同时若在devc++用%f输出i,则得到结果为0.000000,不是5.454545,这个应该是编译软件的关系,故得出结论若输出整数,用%d输出即可,即使过程中出现浮点数。