fread working principle

while ( (c=fread(buffer, 1, SIZE, stdin)) > 0) //buffer is a char array
{

        for (j=0;j<c;j++)
        {
            if(buffer[j]==EOF)
                printf("\nokk");
            if (buffer[j] == ' ')
            {
                if (ti % k == 0) d++;
                ti = 0;
            }
            else
            {
                ti = ti*10 + (buffer[j] - '0');
                //printf("%d  ",ti);
            }
        }
         printf("%s",buffer);
 printf("\n%d**\n",c);
}
whether while loop will stop or not......??can anyone answer in detail...