一些基础的c语言问题

#include<stdio.h>
int is(int number);
int main()
{
int m,n,i,a;
while(scanf("%d%d",&m,&n)!=EOF)
{
a=0;
for(i=m;i<=n;i++)
{
if(is(i))
{
if(a==0)
{
printf("%d",i);
}
else
{
printf(" %d",i);
}
a++;
}
}
printf("\n");
}
return 0;
}
int is(int number)
{
int x,y=number,t=0;
while(number!=0)
{
x=number%10;
number=number/10;
t=t+xxx;
}
if(t==y)
return 1;
else
return 0;
}

从if(is(i))到a++这段是什么意思?下面return 1和return 0是什么意思?

is是一个函数,如果返回值非0就为真,0就是假。

int is(int number)这个函数用来判断number是不是水仙花数,如果是水仙花数,就返回1,不是水仙花数就返回0;
a++是统计水仙花的个数
水仙花数的意思就是一个数的各位数字的立方和正好等于这个数本身。