Hey guys, I was just wondering if someone could take a look at my code real quick. I'm sorting an array, and when it comes to a zero it obviously prints zero's from that point on. I'm using a simple selection sort, and it works fine as long as there are no zero's in the array. Could suggest a fix to this problem???

insert
Code:
void sortArray (float nums[], int last)

{
    int smallest;
    int temp;

    for (int current = 0; current < last; current++)
        {
            smallest = current;

            for (int walk = current + 1; walk <= current; walk++)
                
                if (nums[walk] < nums[smallest] && nums[smallest] != 0)
                    smallest = walk;
                
                else if (nums[smallest] == 0)
                    smallest = walk++; //Here's where I think my problem is...

                    temp = nums[current];
                    nums[current] = nums[smallest];
                    nums[smallest] = temp;
        }
return;
}
I want it to just print the 0 and resume sorting, but I've been looking at it for hours and can't seem to think of something to make that happen.

Thanks so much for any help...