为何这段代码在DEV中运行结果错误

 #include<stdio.h>
#include<math.h>
int main()
{
    int i;
    for(i=100;i<1000;i++)
    if(i==pow(i%10,3)+pow(i/100,3)+pow(i/10%10,3))printf("%d\n",i);
    return 0;
} 

求所有3位数水仙花数图片说明
我提交到蓝桥杯练习平台结果却是正确的

printf("%d\n",i); //改为 printf("%d ",i);看看

可能不同的编译器造成的不同,具体可以针对比赛使用的编译器练习