* q указывает на адрес памяти, содержащей 'b'. Например, предположим, что этот адрес равен 100 в памяти. Добавление 3 дает 103, где хранится «с».
Когда вы определяете строку, используя «...» в C, она автоматически имеет «\ 0» или 0 в конце всех символов, и C использует этот нулевой символ для определения конца строки. В вашем случае адрес 105 содержит «\ 0».
То есть он печатает только символы 103 и 104: "ck".