文字列を比較する時に、比較対象が複数ある場合の効率良い比較方法ありませんか?

例を挙げると

char word[] = "apple";
BOOL flag = FALSE;

if (strcmp(word, "apple") == 0) {
 flag = TRUE;
else if (strcmp(word, "orange") ==0) {
 flag = TRUE;
else if (strcmp(word, "lemon") ==0) {
 flag = TRUE;
}

この場合、判定が3つだからまだ良いですけど、判定対象が100個とかあった場合に
if文を100個連ねるのはスマートじゃない気がします。
何か良い方法は無いでしょうか?