strrchr

strrchrは、指定された文字列から指定された文字を後ろから探す。

Man page of STRCHR
C言語関数辞典 - strrchr

戻り値に、見つかった位置のアドレスが返ってくる。
文字列の最後のアドレスから、戻り値のポインタを引くと、ポインタ演算で距離がわかるので、それで後ろから何番目にあるかがわかる。

"ABCDE"から"D"を後ろから探す。

$ vi strrchr.c
$ gcc strrchr.c -o strrchr
$ ./strrchr
p = DE
d = 1
$

距離1なので、後ろから0番目として数えると後ろから1番目であり、後ろから1番目として数えると後ろから2番目に"D"がある。

Sample/c/strrchr/strrchr/src/strrchr at master · bg1bgst333/Sample · GitHub