Итак, я просто хочу знать, почему моя программа продолжает сбой, все, что я пытаюсь сделать, - это цикл через указатель на массив символов и заменить старый символ новым и вернуть много раз я заменил его:замещающий символ в указателе на массив символов
int main(void) {
char *s = "hello";
printf("%lu\n",str_replace_all(s,'e','f'));
printf("%s",s);
return 0;
}
size_t str_replace_all(char *s,int oldc,int newc) {
size_t count = 0;
for(;*s != '\0'; s++) {
if(*s == oldc) {
*s = newc;
count++
}
}
return count;
}
Это нормально компилируется с gcc -ansi -W -Wall -pedantic
, но когда я запускаю его он падает с этим: Segmentation fault (core dumped)
Мне нужно помочь выяснить, что происходит, спасибо!
P.S ожидается выход был hfllo
@Manish Mallavarapu Примите во внимание, что вы должны объявить функцию перед ее вызовом, например, перед основным и включить заголовок stdio.h –