Я работаю над программой на C, и следующая функция принимает три параметра и заменяет символ в строке другим символом.Ну, большинство из них работает просто отлично, но я получаю ошибку при попытке выполнить эту часть кода: str [pos] = ch ;.Ошибка говорит: «Запись о нарушении прав доступа 0x0133585B.»
void kstrput(char *str, size_t pos, char ch)
{
if(pos > strlen(str))
{
abort();
}
str[pos] = ch;
}
Часть основного:
char *kstr = "hello";
int pos = 3;
char s = '\0';
printf("\n Enter a character ");
scanf("%c", &s);
kstrput(kstr,pos,s); // calling the kstrput function
printf("\n After kstrput: %s",kstr); //printing the struct to check value of the string