#c
Вопрос:
Я действительно хотел знать, как вы заключаете значение или букву в C. Скажем, если я увеличу «z», как я могу превратить его в » a » и наоборот? То же самое относится и к целым числам. Если у меня есть 9, как я могу превратить его в 0 при увеличении?
Комментарии:
1. как насчет
ch = strchr("abcdefghijklmnopqrstuvwxyza", ch)[1]
. Если это гарантировано, символ действителен.
Ответ №1:
Оператор, который вы ищете, является модулем %
.
Обертывание целых чисел происходит прямолинейно:
int my_int = /* some value */ int wrapped_my_int = my_int % 10;
Перенос символов ascii немного сложнее, потому что начальное значение не равно 0. Просто нужно сначала перебазироваться на 0, а затем вернуться к » а » на основе:
char my_char = /* some value */ char wrapped_my_char = (my_char - 'a') % ('z' - 'a' 1) 'a';