c语言求所有三位数水仙花数

#include<stdio.h>
#include<math.h>
int main()
{int a,b,c,i;
for(i=100;i<1000;i++)
{a=i/100;b=(i-100*a)/10;c=i%10;
if(i==(a*a*a+b*b*b+c*c*c))
printf("%5d\t",i);
}
return 0;
}
这是正确程序,但是为什么把a=i/100;b=(i-100*a)/10;c=i%10;这一句提到for语句前面就运行不出来呢?

在for语句包含了对i进行赋值“i=100”,当你将“a=i/100;b=(i-100*a)/10;c=i%10;”提到for语句前,i由于没有初始值,i/100的操作就会报错,则语句就会出错
温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答