如何与 If 比较两个字符串的值

  • 本文关键字:两个 字符串 If 比较 c
  • 更新时间 :
  • 英文 :


我想比较两个字符串并显示每个玩家的获胜数量。我不太了解 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 matchesn", play1, p1);
    printf("%s win %d matchesn", play2, p2);
}

如果字符串相等,则 strcmp 函数返回 0。 您正在检查它们是否不平等。 相反,您希望:

if (strcmp(win1, play1) == 0) {
    p1++; 
} else if(strcmp (win1, play2) == 0) {
    p2++;
}

最新更新