Как этот цикл while печатает 3 как значение для cnt вместо 2, когда вы вводите значение для числа студентов как 3? - PullRequest
0 голосов
/ 27 апреля 2019

Я занимаюсь разработкой системы ранжирования студентов ..

Переменная cnt принимает значение 3 вместо 2, когда я ввожу 3 как нет.Студента, только когда я присваиваю значения массиву artot.здесь «cnt» и «count» - локальные переменные главной функции, которые имеют начальное значение 0. 0. IDGETTER () просто получает идентификатор от пользователя и присваивает его «std_id», MarksGetter () получает оценки субъекта каквход и назначьте его для "sbt_marks".

for(;cnt<std_cnt;cnt++)
{
    IdGetter();
    while(count<sbt_cnt)
    {   
        MarksGetter();
        total=total+marks;
        count=count+1;
    }
    printf("%d\t%d\n",id,total);
    artot[cnt][0]=id;
    artot[cnt][1]=total;
    printf("cnt:%d\tcount:%d\n",cnt,count);
    count=0;
    total=0;
}

при вводе значения для количества учеников значение переменной cnt должно быть на единицу меньше значения no.Я вошел.

1 Ответ

0 голосов
/ 27 апреля 2019

Если вы проверяете значение cnt после выполнения цикла, то cnt = std_cnt, потому что тестирование выполняется после увеличения для последней итерации цикла.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...