C语言请教。高手请进

来源:百度知道 编辑:UC知道 时间:2024/07/07 13:53:06
关于这个程序:
void main()
{
printf("\n\n%d,%d\n",20/7,-20/7);
printf("%f,%f\n",20.0/7,-20.0/7);
getch();
}
我把第二个printf中的20.0改成20,他就没办法显示了,这是为什么?

20.0是浮点数,20是整数
C规则是:整数/整数 = 整数 浮点数/整数=浮点数,整数/浮点数=浮点数 浮点数/浮点数=浮点数。 %f格式代表您输出的是浮点数,不是整数。
如果您一定想输出20/7的浮点形式,不妨尝试强制类型转换:(float)(20/7)

我还没学到,我只知道20/7=2,20.0/7=2.8.不知道有没有关系

不懂啊
刚刚学到指针
IF循环还不太会

你第二个把 20.0变成20后 它会默认当成整形了 你前面的f格式是输出double类型的