不管输入多少,s 都等于零

img


请问为什么我不管输入几 ,s都等于零,这个函数有什么问题吗?

p/q用的是整型除法,p小于q,结果永远等于0
改成p*1.0/q

没问题吧


double m = sqrt((double)p/q));

多加一个强制转换,否则m永远是0.

建议:
1、学会贴格式优良的代码,尊重想帮你的人,让人直接copy & paste
2、学会用调试工具,gdb,或者printf,未来开发中c/c++调试的时间不比开发时间少。