输出100~999的水仙花数用pow函数为什么没有407了

include <stdio.h>

include <math.h>

int main()
{
int x,a,b,c,d;
x=100;d=0;
while (x<=999)
{
a=x/100;
b=x/10%10;
c=x%10;
//if(aaa+bbb+ccc==x)
if(pow(a,3)+pow(b,3)+pow(c,3)==x)
{
printf("%d是水仙花数\n",x);
d=d+1;
}
x++;
}
printf("水仙花数个数=%d\n",d);
}

我运行这个代码有407啊

img

pow函数用double运算,有误差