Я видел эту строку кода:
fputc("01234"[(int)tmp_seq[j][i]], opt->fp_bfast);
до сих пор я думал fputc
получить символ и поместить его в выходной поток.
что делает эта строка кода
Код индексирует строку "01234"
выбрать символ, рассматривая строку как массив символов. Индекс (int)tmp_seq[j][i]
,
предположительно (int)tmp_seq[j][i]
имеет значение между 0
а также 4
включительно, в противном случае произойдет ошибка индексации массива вне пределов.
"01234"[(int)tmp_seq[j][i]]
довольно отвратительный, неэффективный способ написания '0'+tmp_seq[i][j]
…