для l oop в c не увеличивается на последней итерации цикла - PullRequest
0 голосов
/ 15 марта 2020

Здравствуйте и спасибо всем, кто потрудился прочитать. В настоящее время я пытаюсь выполнить программу в c, которая содержит функцию с этим для l oop.

#include <stdio.h>
#include <string.h>

int main(int argc, char **argv){
    int i, goal;
    char resp[1];

    printf("How many people would you like to ask?");
    scanf("%d" ,&goal);

    for(i = 0; i < goal; i++){
        printf("-Person %d: Would you like to register to vote?\n",(i+1));
        scanf("%s", resp);
        if((strcmp(resp, "n"))==0){
            printf("\nOk.\n");
        }
        else if((strcmp(resp, "y"))==0){
            printf("\nRegistering...\n");
        }
    }
    printf("\n%d people asked! Taking a break.\n", goal);
}

Однако по какой-то причине, когда я запускаю программу, после нажатия n для всех запусков, значение для l oop не увеличивается, что приводит к бесконечному значению l oop в финале. запустить. Я попытался изменить для l oop на некоторое время l oop с теми же результатами, а также в последний раз попробовал параметр y, что привело к целому ряду других проблем. Чтобы получить целевое значение, я использую scanf, хотя, когда я пытался использовать fgets, я все же получал тот же ошибочный результат или хуже. Я запустил этот код в отладчике, и при выполнении программы построчно он работает нормально, но, как правило, проблема в его запуске. Любая помощь приветствуется, и я желаю уточнить или расширить мой код. Это мой первый пост здесь, поэтому извиняюсь, если об этом спросили 50 триллионов раз.

...