我觉得可能是pow函数造成的精度丢失,你这个程序逻辑上没有什么问题,但是这个pow函数返回的是个double类型,所以当你用一个int类型接收的时候可能就会造成精度丢失,所以建议你的m函数不要用pow函数就写成a = a*a*a就行了
用你的代码测试没问题啊,本来也就是4个