Как ваша программа выходит из цикла for (; n> 0;)?Не будет ли счетчик просто увеличиваться до тех пор, пока вы не получите ошибку шины?
ED:
С уважением, я думаю, что утверждение, что «я понял логику» немного оптимистично.: ^) Несомненно, кто-то опубликует, как это должно было быть сделано к тому времени, как я закончил писать это, но, вероятно, стоит обратить внимание на то, что пошло не так (кроме проблем с выделением памяти, отмеченных в другом месте):
Ваш первый цикл, for (; n> 0;), странный, потому что вы печатаете все число n в буфер на счетчике.Так зачем вам делать это более одного раза?Если вы выбираете отдельные цифры, вы можете, но это не так, и, очевидно, вы знаете, как это сделать, потому что вы уже использовали "sprintf (charIt,"% d ", giveStr);".[В стороне: giveStr не является хорошим именем для целой переменной без знака!]
Ваш второй цикл также имеет странные условия: вы устанавливаете счетчик на 0, устанавливаете условие, что счетчик> 0, а затем уменьшаете счетчик внутри,Это, очевидно, не будет зацикливать персонажей так, как вы хотите.Предполагая, что вы думали, что первый цикл был посимвольным, тогда, возможно, вы думали обойти цикл от счетчика-1 до 0?