トップ過去問一覧応用情報技術者 平成21年・春 > 問7
問7

文字列を引数とする関数len,first,butfirstを用いて、関数compを再帰的に定義した。comp("11","101")を呼び出したとき、返されるものはどれか。

○正解
×不正解

-1

0

1

エラー

解説

関数を順に追っていきます。

3行目でAとBの文字列の長さが両方 0 なら 0 を返す

4行目でAの文字列の長さが 0 なら 1 を返す

5行目でBの文字列の長さが 0 なら -1 を返す

6,7行目でBのASCIIコードが大きければ 1 そうでなければ -1 を返す。

8行目では1文字除いた文字列で同様に行う。

 

となっています。結局のところ同じ文字列なら 0 そうでなければ 1 か -1 が返されます。

comp("11","101") は B のほうが文字数は多いのですが 7行目のAのASCIIコードの違いで -1 が返されます。

無料学習システムはこちら
→間違えた問題を繰り返し学習
→分野別学習
→模擬試験モード
デモサイト
無料ユーザ登録

問題文や解説文の内容の正確性については、できるかぎりチェックをしていますが、間違いがある可能性があります。 十分ご注意の上、参考までにご利用ください。