Писал программу, и столкнулся со следующей проблемой. В программе я использовал цикл while, в котором от значения m уменьшается переменная int i с шагом в единицу, и когда она равна минус единице, цикл заканчивается. В цикле мне понадобилось вывести на экран значение i+1. При запуске программы выскакивает Segment Fault.
Что интересно, при cout <<i; программа работает(хоть и некорректно, ибом не необходимо ввывести значение i=1), меняю на cout <<i+1; -выдает сегфаулт. Я так понял, предложение cout <<i+1; изменяет i на единицу? Что в свою очередь приводит к тому что в цикле одновременно я увеличиваю и уменьшаю i на 1, что приводит к бесконечному циклу и, соответственно, к переполнению стека?
Можно ли в С++ вывести на экран значение i+1, не изменив значение i, и при этом не используя костыли, наподобие
cout <<i+1;
i-=1;
или без этого никак?