这个程序为什么运行不了,然而使用bool却可以,难道只能用boo吗???

#include
#include
int f(int x);
int main()
{
int n;
scanf("%d",n);
while(n--)
{
int t,i;
scanf("%d",&t);
if(f(t)==1)
{
printf("%d 0\n",t);
continue;
}
for(i=0;t-i!=0;i++)
{
if(f(t-i)==1)
{
printf("%d %d\n",t-i,i);
break;
}
if(f(t+i)==1)
{
printf("%d %d\n",t+i,i);
break;
}
}
}

return 0;

}
int f(int x)
{
int i;
if(x==0||x==1)
return 0;
else if(x==2)
return 1;
else
{
for(i=0;i<x;i++)
if(x%i==0)
return 0;
return 1;

}
}

 int f(int x);
int main()
{
    int n;
    scanf("%d",&n);
    while(n--)
    {
        int t,i;
        scanf("%d",&t);
        if(f(t)==1)
        {
            printf("%d 0\n",t);
            continue;
        }
        for(i=0;t-i!=0;i++)
        {
            if(f(t-i)==1)
            {
                printf("%d %d\n",t-i,i);
                break;
            }
            if(f(t+i)==1)
            {
                printf("%d %d\n",t+i,i);
                break;
            }
        }
    }
    return 0;
}
int f(int x)
{
    int i;
    if(x==0||x==1)
        return 0;
    else if(x==2)
        return 1;
    else
    {
        for(i=1;i<=x;i++)
            if(x%i==0)
                return 0;
        return 1;

    }
}

不知道你程序干嘛的,也不知道你说的哪里用bool