Как сравнить с If значение двух строк? - PullRequest
0 голосов
/ 15 апреля 2019

Я хочу сравнить две строки и показать количество выигрышей для каждого игрока.Я не совсем понимаю, как работает библиотека string.h, но в поисках я показал, что она должна работать для этого сравнения

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

int main()
{
    printf("Player 1: ");
    scanf("%s", &play1);
    printf("Player 2: ");
    scanf("%s", &play2);            
    printf("Total matches: ");
    scanf("%d", &t_matches);

    for (i = 1; i <= t_matches; i++) {
        printf("Winner match %d: ", i);
        scanf("%s", &win1);
        if (strcmp(win1, play1)) {
            p1++; 
        } else if(strcmp (win1, play2)) {
            p2++; 
        }
    }
    printf("%s win %d matches\n", play1, p1);
    printf("%s win %d matches\n", play2, p2);
}

1 Ответ

2 голосов
/ 15 апреля 2019

Функция strcmp возвращает 0, если строки равны.Вы проверяете, являются ли они неравными.Вы вместо этого хотите:

if (strcmp(win1, play1) == 0) {
    p1++; 
} else if(strcmp (win1, play2) == 0) {
    p2++;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...