TC2.0中的fabs是什么意思?

dedema dedema 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
#include "stdio.h"

main()
{float x,y,z;
clrscr();
/*scanf("%f%f",&x,&y);*/
x=3.6;y=2.4;
z=x/y;
while(1)
{if (fabs(z)>0.1)
{x=y;y=z;z=x/y;
}
else break;
}
printf("y=%f\n",y);

getch();
}
以上的程序进行的结果是2.400000,真是想不通为什么会等于2.4?
如果给它加上#include "math.h"
那么运行结果就成了17.572384,调试结论是fabs的含义是关键,如果加上math.h这个头文件,而它表示返回浮点数的绝对值,那么如果没有这个头文件呢?表示什么含义?
更奇的是,如果x,y的值改用scanf来输入,如下所示,则结果就变为1.5!怎么回事啊?
#include "stdio.h"
main()
{float x,y,z;
clrscr();
scanf("%f%f",&x,&y);
/*x=3.6;y=2.4; */
z=x/y;
while(1)
{if (fabs(z)>0.1)
{x=y;y=z;z=x/y;
}
else break;
}
printf("y=%f\n",y);
getch();
}
...全文
评论 15
收藏 已收藏
分享
返回顶部
dedema
C语言 70,039 成员 243,237 内容