Никто не объяснил, как на самом деле делает это правильно - вместо функции pow
просто имеет переменную, отслеживающую текущую мощность:
int i, a, power;
for (i = 0, a = 1; i <= 4; i++, a *= 10) {
printf("%d\t",a);
}
Это продолжение умножение на десять гарантировано даст вам правильный ответ и вполне нормально (и намного лучше, чем pow, даже если он дает правильные результаты) для таких задач, как преобразование десятичных строк в целые числа.