比较 c 上的字符(字母)

标签 c

我正在制作这个程序来比较字母。这样做的目标是制作一款刽子手游戏。但我无法进行字母比较工作

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

int c=0,x;
char a[50],b[50],n[50],j,h;
char a1[50],b1[50],y;
main()
{
    printf("Player 1:enter a word\n");
    gets(n);
    x=strlen(n);
    printf("%d letters\n",x);

    puts("now enter the word letter by letter");
    do
    {
        gets(a);
        strcat(b,a);
        c++;

    }
    while(c!=x);
    printf("%s",b);
    getch();
    system("cls");

    c=0;

    puts("Player 2:try to guess the word letter by letter");
    do
    {
        gets(a1);
        y=strcmp(a,a1);
        printf("%d",y);
        strcat(b1,a1);
        c++;
    }
    while(c!=x);

    printf("%s",b1);


    getch();
    return 0;

}

我遇到了问题,尤其是播放器 2 部分。这不应该是整个比较字母程序;这只是将字母与播放器 1 部分中的任何内容进行比较(但它不断地拖拽 1 和 -1 并且不知道如何解决这个问题)。

我确信只要多一点编程知识,我应该能够解决这个问题,但我是一个初学者,几乎想自学。任何提示都会非常有帮助:)

最佳答案

在您的代码中,a 存储了 Player1 输入的临时值,因此如果 Player1 输入“abide”,则 Plyaer1 循环后的结果将为 a = "e" 。在 Player2 的循环中,您始终将“e”与用户的输入进行比较。

解决方案可能是比较第一个字符而不是使用 strcmp

y = b[c] - a1[0];

关于比较 c 上的字符(字母),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30565351/

相关文章:

c - 如何在另一个c文件中使用结构

c - OpenGL - 填充滑板四分之一管

c - 使用 "="为内部的 char 数组分配结构有效吗?

iphone - 仅使用 OpenGL 而不是 Cocoa Touch 制作 iPhone 应用程序是否可行?

python - PyDict_SetItemString 段错误

c - 当a=1时a,a++,++a的输出是多少;

c - 在堆栈 ADT 中声明各种类型定义

c - lua同步调用C异步函数

c - 如何确定此可执行文件在启动时崩溃的原因? (*nix 上的 C)

c - 声明没有最高维度的数组