1

次のコード行を見ました。

fputc("01234"[(int)tmp_seq[j][i]], opt->fp_bfast);

fputc今まで、文字を取得して出力ストリームに入れると思っていました。このコード行は何をしますか

4

2 に答える 2

5

このコードは、文字列"01234"を文字配列として扱うことによって文字を選択するために文字列にインデックスを付けています。インデックスは(int)tmp_seq[j][i]です。

おそらく~ の間の(int)tmp_seq[j][i]値を保持します。それ以外の場合は、範囲外の配列インデックス付けエラーが発生します。04

于 2012-11-18T14:47:34.433 に答える
0

"01234"[(int)tmp_seq[j][i]]書くのはかなり恐ろしく、非効率的な方法'0'+tmp_seq[i][j]です...

于 2012-11-18T16:05:56.977 に答える