重複の可能性:
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;
}