关于C语言 新手上路 麻烦指教

来源:百度知道 编辑:UC知道 时间:2024/06/25 15:42:38
main()
{
float b=10/4;
printf("%f",b);
getch();
}

请教为什么得出来的是2.0000 为什么不是2.500

这个问题涉及到c语言中运算符除号“/”的性质。
当除数和被除数都是整型常量时,得到的结果也是整型(即就算结果舍弃小数点及后面的小数)。
要想得到实型结果,只需把4改成4.0或把10改成10.0即可。

先执行10/4,二者都是整型,所以得到整数2
然后先2赋值给float变量b,

所以最后输出的b是2.000

在C语言中,如果"/"的两边都是整数,"/"表示"整除",也就是说求整数商.如果要得出实数商,被除数和除数中最少要有一个实数.比如,可以表示成:b=10/4.0,或b=10.0/4.