В своих ночных постах я попутал sprintf c printf'ом, и putchar тут ни при чём. Но суть остаётся верной: те вычисления, которые могут быть проделаны на этапе компиляции средствами самого компилятора, тут же и выполняются. Т.е. не контроллер во время работы форматирует и складывает в буфер строку Test0, там где цикл проходится всего раз, а сам компилятор создаёт в программной памяти строку Test0. Максимум, что делает контроллер - копирует эту строку в ОЗУ. VasilyS выразил это коротко и ясно.