如何在C中检查array

如何在C中检查array

Possible Duplicate:
How do I properly compare strings in C?




我昨天开始C编程,因此对这种语言非常陌生。我正在使用fget()接收用户输入,然后使用strtok()对输入进行标记。我试图查看输入的第一个单词是否等于“ exit”,此时程序将退出。由于某种原因,它不起作用。这是我的代码。

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

#define MAX_LINE 1024
#define MAX_TOKEN 64
#define SEPARATORS " \t\n"

main(){

    char line[MAX_LINE];
    char *token[MAX_TOKEN];
    int loop = 1;
    int i;

    while (loop != 0){
            fgets(line, sizeof(line), stdin);
                    token[0] = strtok(line, SEPARATORS);
                    printf("token[0] = %s\n", token[0]);

                    if (token[0] == "exit"){
                            printf("%s", "Beep Boop Boop Boop");
                            loop = 0;
                    }

                    for (i = 0; token[i] = strtok(NULL, SEPARATORS); i++){
                            printf("token[%d] = %s\n", i, token[i]);
                    }
    }
}


以下代码无法正常工作。

if (token[0] == "exit"){
      printf("%s", "Beep Boop Boop Boop");
      loop = 0;
}

最佳答案

尝试这个 :

if (strcmp(token[0],"exit")!=0){
  printf("%s", "Beep Boop Boop Boop");
  loop = 0;
}

关于c - 如何在C中检查array [index] ==“someString”? ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12884718/

10-10 01:00