const?夏爾?key[][12]?=?{?“開心”,?“新的”,?“年”,?"2014"?};
//?它和某個特定的完全匹配嗎?鑰匙?
int?match1(const?夏爾?*s,?const?夏爾?*t)
{
什麽時候?(*s?& amp& amp?*t?& amp& amp?*s++?==?* t++);
回歸?!(*s?||?* t);
}
//?妳們配組嗎?鑰匙?其中壹個?
int?match(const?夏爾?*s)
{
int?我,?j;
為了什麽?(我?=?0;?我?& lt?sizeof?鑰匙?/?sizeof?鍵[0];?i++)
如果?(match1(s,按鍵[i])
{
//?如果符合呢?鍵,然後打印匹配的?鑰匙?
為了什麽?(j?=?0;?鍵[I][j];?j++)?putchar(key[I][j]);
putchar(' \ n ');
回歸?1;
}
回歸?0;
}
int?主()
{
夏爾?s[BUFSIZ];
int?我,?k;
//?輸入壹個字符串
為了什麽?(我?=?0;?我?& lt?BUFSIZ?& amp& amp?(s[i]?=?getchar())?!=?\ n ';?i++);
s[i]?=?'\0';
匹配項;
回歸?0;
}以上程序是判斷輸入的字符串是否是某個鍵中的壹個。
如果不需要精確匹配,但需要檢測輸入字符串是否包含鍵,則過程如下:
#包含?& ltstdio.h & gt
const?夏爾?key[][12]?=?{?“開心”,?“新的”,?“年”,?"2014"?};
//?它包含特定的壹個嗎?鑰匙?
int?match1(const?夏爾?*s,?const?夏爾?*t)
{
const?夏爾?*p,?*q,?* r;
為了什麽?(p?=?s,?q?=?t;?*p?& amp& amp?* q;?p?=?r,?q?=?t)
{
為了什麽?(r?=?p?+?1;?*p?==?* q;?p++、?q++);
如果?(*q?==?'\0')?回歸?1;
如果?(*p?==?'\0')?回歸?0;
}
回歸?0;
}
//?它包含壹個組嗎?鑰匙?其中壹個?
int?match(const?夏爾?*s)
{
int?我,?j;
為了什麽?(我?=?0;?我?& lt?sizeof?鑰匙?/?sizeof?鍵[0];?i++)
如果?(match1(s,按鍵[i])
{
//?如果符合呢?鍵,然後打印匹配的?鑰匙?
為了什麽?(j?=?0;?鍵[I][j];?j++)?putchar(key[I][j]);
putchar(' \ n ');
回歸?1;
}
回歸?0;
}
int?主()
{
夏爾?s[BUFSIZ];
int?我,?k;
//?輸入壹個字符串
為了什麽?(我?=?0;?我?& lt?BUFSIZ?& amp& amp?(s[i]?=?getchar())?!=?\ n ';?i++);
s[i]?=?'\0';
如果?(匹配項)
{
//?如果符合呢?鍵,打印原始輸入字符串?
為了什麽?(k?=?0;?k?& lt?我;?k++)?putchar(s[k]);
putchar(' \ n ');
}
回歸?0;
}