主要问题是精度转换的问题 自动精度转换丢失精度 pow的返回值是double 如果传int进入会丢失精度 可以用 可以用向上取整和向下取整检测 int pow(int x,int y) { int sum=1; for(int i=0;i<y;i++) sum*=x; return sum; } 最好自己定义一个返回值是int的pow重载函数