Решено: G CC Сравнить строку, если еще (способ проверить, что вы написали определенное слово) - PullRequest
0 голосов
/ 09 апреля 2020

Я учусь в G CC, и в то время как я пробовал различные решения для проверки ввода определенного слова, 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;   
    }

Я хотел бы знать, есть ли другой способ сделать то же самое. Спасибо.

1 Ответ

0 голосов
/ 09 апреля 2020

То, что вы написали, по сути является наиболее распространенным способом сделать это. В C действительно нет способа сравнить две строки в одном выражении без вызова функции.

Вы можете вырезать временную переменную VerifyS, если хотите, написав

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

или, возможно, немного яснее

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