При первом осмотре кажется, что ваша программа будет более или менее работать, если бы это было
strb[str_num] = (stra[str_num] - 'a') % 9 + 1
Кроме того, strb
также должно быть длиной 27 символов, а не 0; Массивы с 0 элементами довольно слабы для хранения ненулевых объемов данных!
Вам необходимо проверить аргумент, используя argc
- т.е.
if (argc != 2)
// complain here
Наконец, когда вы печатаете результаты, вам нужно превратить порядковые номера обратно в символы. Печать strb
как char*
не даст вам 123
, а скорее ^A^B^C
, а не то, что вы хотите. Поэтому вам нужно будет печатать эти символы в цикле, корректируя каждый из них, добавляя смещение '0'
обратно.