用c++程序求水仙花数,if判断句不起作用,直接把100到999全部输出了,这是怎么回事?

#include

using namespace std;

int main()
{int sum;
for(int a=1;a<10;a++)
for(int b=0;b<10;b++)
for(int c=0;c<10;c++)
{int sum=a*100+b*10+c;
if(sum==(a*a*a+b*b*b+c*c*c));
printf("%d\n",sum);}
return 0;
}

if(sum==(a*a*a+b*b*b+c*c*c));
这里多了一个分号
应该是
if(sum==(a*a*a+b*b*b+c*c*c))
修改后程序可以输出
153
370
371
407

问题解决的话,请点下采纳