Funkcja void nic nie zwraca.
Jedyne co robi obecnie twoja funkcja to tworzy nową zmienną "bul", podstawia pod nią to co dostała (czyli co to było w zmiennej win), potem podstawia pod tą zmienną 1 i usuwa ją.
Zmienna "bul" w twojej funkcji jest zmienną lokalną i żyje tylko w czasie wykonywania funkcji.
Jeśli chcesz żeby funkcja modyfikowała zmienną win, to musisz przekazać argument funkcji przez referencję, czyli tak:
Więcej o tym możesz poczytać tu:
... encj.C4.99
W twoim pierwszym programie jest tworzona lokalna kopia zmiennej. W drugim programie nie jest, bo tablice jako argument funkcji zawsze są przekazywane przez referencję - nie są tworzone kopie tablicy w pamięci tak jak to się dzieje w przypadku pojedynczych zmiennych.