将字符串与C进行比较



我正在尝试用C制作一个基本的文本游戏。我试图将一个集合字符串与用户输入进行比较,但失败得很惨。我对C还很陌生(我过去曾使用过javascript、php和C++)。我确信我做错的事情要么是盲目的简单,要么是我在阅读文档时误解的。

#include <stdio.h>
#include <string.h>
#include <stdbool.h>
int main(void) {
/* Game variables */
bool game_over = false,
    is_mage = false,
    is_warrior = false;
unsigned int sword_damage = 15,
    magic_damage = 10,
    magika = 20,
    strength = 20,
    health = 100,
    gold = 20;
char name [20],
    type [7],
    dest_1 [7],
    dest_2 [7],
    mage [4],
    warrior[7];
/* Make string variables */
memset(dest_1, '', sizeof(dest_1));
memset(dest_2, '', sizeof(dest_2));
strcpy(mage, "mage");
strcpy(dest_1, mage);
strcpy(warrior, "warrior");
strcpy(dest_2, warrior);
/* Print introduction and set up player */
printf("ttttAngrokknttCopyright: Benjamin Williams 2013nn");
printf("Character name: ");
scanf("%s",name);
printf("nCharacter type (mage/warrior): ");
scanf("%s",type);
if (strcmp(type, dest_1) == 0) {
    is_mage = true;
} else if (strcmp(type, dest_2) == 0) {
    is_warrior = true;
} else {
    printf("No type available, game shutting down.");
    return 0;
}
/* Main game loop */
while (!game_over) {
    /* Detect if the character is dead or not */
    if (health < 0) {
        game_over = true;
    }
}
printf("Game over");
return 0;
}

我在调试器中运行了它,您的字符串比较结果很好。

要定义字符串,可以执行以下操作(记住字符串只是指向第一个字符的指针):

char*warrior="战士";

char*mage="mage";

然后。。。

`if(strcmp(mage,type)==0){

//做你必须做的事

}

否则如果(strcmp(战士,类型)==0){

//做你必须做的事

}`

相关内容

  • 没有找到相关文章

最新更新