i want to check if there is a char which differs space tab + - or number
i wrote this long if inside
i cant see why this if doesnt work
??
Code:
#include <stdio.h>
int valid(char buf[],int index);
int nex_num(char buf[],int index);
int rid_next(char buf[],int index,int x);
void spin(char buf[],int arr[],int index,int num);
int one_num(char buf[],int index,int start);
int rid(char buf[],int index,int x);
int main()
{

	int arr[4],t;
    char buf[] ="-000123		-143	23  +567";
    t=valid(buf,0);
    printf("%d",t);
return 0;
}


int valid(char buf[],int index)
{
    if ((buf[index]=='\0')&&(index==0))
    {
       return 0;
    }
    if (buf[index]=='\0')
    {
       return 1;
    }
    if ((buf[index]!='-')||(buf[index]!='+')||(buf[index]!=' ')||(buf[index]!='\t')||((buf[index]<'0')||(buf[index]>'9')))
     {
        return 0;
     }
     return valid(buf,index+1);
}