Oii Filipe, como você está?
A variável fatorial vai acumular o valor do produto de cada número entre o valor de num e zero. Ela é inicializada com valor 1, pois todo número multiplicado por 1 é igual a ele mesmo, porém, dentro do loop while, temos o acúmulo acontecendo por meio do símbolo *=.
A linha fatorial *= i é a mesma coisa que fatorial = fatorial * i. A cada vez que o loop acontecer, o valor da variável fatorial será incrementado com a multiplicação, e o valor de i será decrementado em 1. Ou seja, se fizermos o fatorial de 5, no primeiro loop o valor de fatorial será 5, e o de i diminuirá para 4. No segundo loop, fatorial será 4x5, ou seja, 20, e o valor de i será 3, e assim sucessivamente, até que i seja igual a zero, o que encerra o loop.
Espero ter esclarecido sua dúvida :)
Estamos por aqui sempre que precisar de uma ajudinha. Abraços.
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!