,老显示f(0.0)=0.0,不论X输入什么值
你把printf 里面的&.lf点去掉,这个表示小数四舍五入。如果去掉还不对的话可能你用的老版本的编译器,scanf不能自动转换变量类型,你输入的整形不被长整型scanf识别,可以试试scanf_s. 我的code block运行你的code是没问题的。