當前位置:成語大全網 - 書法字典 - c語言字符串匹配

c語言字符串匹配

#包含?& ltstdio.h & gt

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;

}