char *strchr(const char *s, int c);
它表示在字串 s 中查詢字元 c,返回字元 c 第一次在字串 s 中出現的位置,如果未找到字元 c,則返回 NULL。也就是說,strchr 函數在字串 s 中從前到後(或者稱為從左到右)查詢字元 c,找到字元 c 第一次出現的位置就返回,返回值指向這個位置,如果找不到字元 c 就返回 NULL。char *strrchr(const char *s, int c);
與 strchr 函數一樣,它同樣表示在字串 s 中查詢字元 c,返回字元 c 第一次在字串 s 中出現的位置,如果未找到字元 c,則返回 NULL。但兩者唯一不同的是,strrchr 函數在字串 s 中是從後到前(或者稱為從右向左)查詢字元 c,找到字元 c 第一次出現的位置就返回,返回值指向這個位置。下面的範例程式碼演示了兩者之間的區別:int main(void) { char str[] = "I welcome any ideas from readers, of course."; char *lc = strchr(str, 'o'); printf("strchr: %sn", lc); char *rc = strrchr(str, 'o'); printf("strrchr: %sn", rc); return 0; }對於上面的範例程式碼,strchr 函數是按照從前到後的順序進行查詢,所以得到的結果為“ome any ideas from readers,of course.”; 而 strrchr 函數則相反,它按照從後到前的順序進行查詢,所以得到的結果為“ourse.”。