想问问为什么我这样子没办法输出水仙花数

#include<stdio.h>
int main(void)
{
int a,b,c,i=100;
printf("水仙花数是:");
for(i;i<1000;i++);
{
a=i/100;
b=(i-a100)/10;
c=i%10;
{
if(i==a
aa+bbb+cc*c)
printf("%d\n",i);
}
}

return 0;

}

for(i;i<1000;i++);
你的for循环最后多了个分号啊,去掉

这么写:

#include<stdio.h>
int main()
{
    int a,b,c;
    for(int i=100;i<=999;i++)
    {
        a=i/100;  //百位数 
        b=(i/10)%10;  //十位数 
        c=i%10;  //个位数 
        if(a*a*a+b*b*b+c*c*c==i) 
        printf("%d\n",i);
    }
     return 0;
}  

img