weixin_46115492
weixin_46115492
2021-01-23 00:28

强制类型转换double转int。从2.8转成3是什么情况

  • c语言
#include<stdio.h>
#include<math.h>
int main()
{
	int n,m;
	double s;
	printf("请输入一个数n:");
	scanf("%d",&n);
	while(n>=1000)
	{
		printf("输入错误,请重新输入一个整数n:");
		scanf("%d",&n);
	} 
		s=sqrt(n);
		if((int)s==s)
			printf("%d的平方根为整数,结果是%0.0lf",n,s);
		else
			printf("%d的平方根是%lf,不是整数,保留整数结果为%0.0lf",n,s=sqrt(n),s=(int)s);
}

为什么强制类型转化会将2.828427转换为3??

  • 点赞
  • 回答
  • 收藏
  • 复制链接分享

5条回答

为你推荐

换一换