首页 > 解决方案 > 已解决:GCC 比较 String IF else(一种验证您是否写过某个单词的方法)

问题描述

我在 GCC 学习,当我尝试各种解决方案来验证某个单词的输入时,IF Word = Word {do something;} 似乎在 C 中它不能直接完成,所以我尝试了这个似乎有效的解决方案:

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

int main(){

    int CClose = 0;
    int VerifyS = 0;
    char PWord[30] ={'\0'};

    do {

        printf("\n Type a word: ");
        scanf(" %s", &PWord);

        VerifyS = strncmp(PWord, "exit", 4);

        if (!VerifyS){ CClose = 1;}else{ printf("\n The Word is:%s", PWord);}



    }while (CClose != 1);

    return 0;   
    }

我想知道是否有另一种方法可以做同样的事情。谢谢你。

标签: gcc

解决方案


你所写的基本上是最常用的方法。C 中确实没有办法在不调用函数的情况下比较单个表达式中的两个字符串。

VerifyS如果您愿意,可以通过编写删除临时变量

if (!strncmp(pWord, "exit", 4)) { /...

或者,也许稍微清楚一点

if (strncmp(pWord, "exit", 4) == 0) { /...

推荐阅读