Значение k уменьшается, но диапазон, для которого работает цикл for k, остается тем же, что и высота входной переменной, не изменяется. В результате он всегда печатает 4 (высота-2 + 1) точки. Чтобы уточнить больше см. Следующие шаги:
input->height 5 <br>
i = 0, printing four dots for k = 3,2,1,0. printing one '#' for j=0 <br>
i = 1, printing four dots for k = 3,2,1,0. printing two '#' for j=0,1 <br>
i = 2, printing four dots for k = 3,2,1,0. printing three '#' for j=0,1,2 <br>
i = 3, printing four dots for k = 3,2,1,0. printing four '#' for j=0,1,2,3 <br>
i = 4, printing four dots for k = 3,2,1,0. printing five '#' for j=0,1,2,3,4 <br>
for (k = height -i-2; k >=0; k--) //to decrease starting value of k by one each time.
input->height 5 <br>
i = 0, printing four dots for k = 3,2,1,0. printing one '#' for j=0 <br>
i = 1, printing three dots for k = 2,1,0. printing two '#' for j=0,1 <br>
i = 2, printing two dots for k = 1,0. printing three '#' for j=0,1,2 <br>
i = 3, printing one dots for k = 0. printing four '#' for j=0,1,2,3 <br>
i = 4, printing zero dots for k = . printing five '#' for j=0,1,2,3,4 <br>