c语言中sqrt()函数的输出问题,两种输出为什么是3,0,怎么会不一样

2025-06-22 12:37:22
推荐回答(2个)
回答1:

sqrt的返回值类型是double型,你输出的时候用%d当然结果是错的了,可以试试类型转换,把最后一个printf语句改成如下:

printf("%d\n",(int)sqrt(n));

回答2:

因为sqrt的返回值是double类型,你用%d格式符会出错。
应该写printf("%lf\n",sqrt(n));