const char *my_strrchr(const char *str, char c) { int len = strlen(str); for(int i = len; --i >= 0;) { // for 文により、末尾から先頭に向かって検索 if( str[i] == c ) { // 検索文字と比較 return str + i; // 文字位置を返す } } return 0; // 検索文字を発見できなかった場合 }
解説:
const char *my_strrchr(const char *str, char c) { const char *ptr = str + strlen(str); // ptr が終端のヌル文字を指すように初期化 while( --ptr >= str ) { // ptr を先頭方向に移動しつつ、先頭を超えてない間ループ if( *ptr == c ) { // 検索文字と比較 return ptr; // 文字位置を返す } } return 0; // 検索文字を発見できなかった場合 }
解説:
前: | 次: