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; // 検索文字を発見できなかった場合
}
解説:
前: | 次: