fputc со строкой и аргументом int? & Quot; 01234 & Quot; [(целое) tmp_seq [J] [I]]

Я видел эту строку кода:

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

до сих пор я думал fputc получить символ и поместить его в выходной поток.
что делает эта строка кода

1

Решение

Код индексирует строку "01234" выбрать символ, рассматривая строку как массив символов. Индекс (int)tmp_seq[j][i],

предположительно (int)tmp_seq[j][i] имеет значение между 0 а также 4 включительно, в противном случае произойдет ошибка индексации массива вне пределов.

5

Другие решения

"01234"[(int)tmp_seq[j][i]] довольно отвратительный, неэффективный способ написания '0'+tmp_seq[i][j]

0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector