ちょっと訂正

>文字列配列に「NULL」は一つしかない → 文字列配列に「NULL」は最大で一つしかない
>「NULL」は文字列配列の最後にしかない →もし文字列配列「NULL」があるとしたら「NULL」は文字列配列の最後にしかない

NULLは文字列の最後を表す記号であるが、
文字列配列にNULLを含める事が必須であるとの記述は無い

問題文ではNULLの意味が記述されているだけであって、
文字列配列の最後にNULLを付加する事がルールとして示されているのではない

文字列配列の末尾にNULLを付加する事が必須ではないなら、
>5の探索方法だと、文字列配列の末尾の4文字が例えば「B」「C」「A」「Z」でも、
目的文字列を発見したと判定してしまう
そこで、次の様に訂正するべきだ

文字列配列の最後から1文字目が「NULL」か調べ、もし「NULL」であれば、
文字列配列の最後から2文字目が「A」か調べ、もし「A」であれば、
文字列配列の最後から3文字目が「C」か調べ、もし「C」であれば、
文字列配列の最後から4文字目が「B」か調べ、もし「B」であれば、
目的文字列配列が発見できた、とするアルゴリズムを作ればよい