LINUX.ORG.RU

История изменений

Исправление alysnix, (текущая версия) :

ты б хоть опции навроде -Wall включил.

у тебя там функции не возвращают результат, и компилятор это пропускает.

int confirm_choice () {
        char input_confirm;
        /*Используем двойной scanf, чтобы подтвердить нажатие*/
        printf("Нажмите Enter");
        scanf( "%c", &input_confirm );
        scanf( "%c", &input_confirm );
        if (input_confirm =='\n')
         return 0;
 }

результат возвращается в условном операторе. если условие есть ложь - возвращается мусор. такое и в других местах есть. return результата из функции(которая не void) должет быть явным в любом случае. это тебе не функциональщина какая нить

Исходная версия alysnix, :

ты б хоть опции навроде -Wall включил.

у тебя там функции не возвращают результат, и компилятор это пропускает.

int confirm_choice () {
        char input_confirm;
        /*Используем двойной scanf, чтобы подтвердить нажатие*/
        printf("Нажмите Enter");
        scanf( "%c", &input_confirm );
        scanf( "%c", &input_confirm );
        if (input_confirm =='\n')
         return 0;
 }

результат возвращается в условном операторе. если условие есть ложь - возвращается мусор. такое и в других местах есть. return результата из функции(которая не void) должет быть явным в любом случае.