1个数如果等于其每一位数字的立方之和,则称此数为水仙花数,如153就是一个水仙花数,因为153=13+53+33。使用for语句编程求出100到999之间所有的

一个数如果等于其每一位数字的立方之和,则称此数为水仙花数,如153就是一个水仙花数,因为153=13+53+33。使用for语句编程求出100到999之间所有的
#include<stdio.h>
#include<math.h>
void main()
{
int i,ge,shi,bai;
printf("100到999之间的水仙花有");

for(i=100;i<999;i++)
{
bai=i/100;
shi=i/10%10;
ge=i%10;
if(i=ge*ge*ge+shi*shi*shi+bai*bai*bai)
{
printf("%d ",i);
}
}
return 0;
}
怎么最后运行的结果不对呢??问题出在哪里??
------解决思路----------------------
if(i=ge*ge*ge+shi*shi*shi+bai*bai*bai)  //里面是关系表达式,不是赋值表达式
还有主函数定义为空,就不要有返回值了。
------解决思路----------------------
比较是二个等号,==, 把编译开关全打开,应该有提示的
------解决思路----------------------
if(i=ge*ge*ge+shi*shi*shi+bai*bai*bai)
 {
 printf("%d ",i);
 }
改成==
不然会把100到999的数字都打出来