У меня следующая проблема:
У меня есть строка в переменной указателя символов, и я хотел бы сместить каждый символ в строке на 1 (например), а затем в конце я хотел бы сохранитьновая строка в исходную переменную.
мой код выглядит следующим образом:
int main(){
char *string = "Hello";
while (*string != '\0') {
putchar(*string + 1);
string++;
}
return 0;
}
Если я использую putchar
, он работает как положено, но когда я пытаюсь это сделать:
*string = *string +1;
Я получаю ошибку сегментации
Я также попробовал следующие подходы:
*string = &string +1;
*shifted = *string +1;
shifted = *string;
string = *string +1;
ини одна из них не сработала, либо я получил предупреждение, либо произошла ошибка сегментации.
Есть ли способ, которым я мог бы переопределить *string
, чтобы в нем были новые сдвинутые буквы, чтобы я мог использовать его позже.
Спасибо за помощь, очень признателен.