It works (at least on my Linux box) if you flush the standard out:
void Loading()
{
char *array[4] = {"/" , "--" , "\\" , "|"};
for(int j = 1; j <= 8; j++)
{
for(int i = 0; i <= 3; i++)
{
printf("%s" , array[i]);
fflush(stdout); delay(100);
printf("\b");
printf(" ");
fflush(stdout); delay(100);
printf("\b");
}
}
}