1. Если что-то не работает, это не повод переделывать всё на указатели.
Разберитесь, зачем вообще нужны указатели. В вашем примере лучше форматы оставить на стеке.
2. Ваш код у меня работает, проблема явно где-то в другом месте.
3. Если программа "вылетает" или возвращает не 0, попробуйте запустить её в отладчике и он покажет вам строчку, в которой произошла ошибка.