Я пытаюсь написать код, который заменит символ в строке, которую пользователь выбирает символом, который он/она делает. Например, строка london
, если пользователь выбирает o
и a
, тогда выход должен быть landan
.Замена и замена символов в C
Вот код:
#include <stdio.h>
#include <string.h>
#define MAXLEN 100
int function2(char str[], char drop, char sub) {
int i = 0; int num = 0;
while (str != NULL) {
if (str[i] == drop) {
str[i] = sub;
num++;
}
i++;
}
return num;
}
int main() {
char d, s;
char my_string[MAXLEN];
printf("Input your string\n");
scanf("%s", &my_string);
printf("Input character you want to drop\n");
scanf(" %c", &d);
printf("Now character you want to substitute\n");
scanf(" %c", &s);
function2(my_string, d, s);
printf("The string is %s\n", my_string);
return EXIT_SUCCESS;
}
Он не работает до того момента, когда вы на самом деле печатать измененную строку. Все, что я получаю, это Segmentation fault (core dumped).
Обратите внимание, что код для функции не был моим (я нашел его на каком-то веб-сайте, поэтому владелец исходного кода для функции2- Спасибо заранее). Любая помощь будет оценена!
'в то время как (ул = NULL) {' -> ', а (ул [я]) { '. Также необходимо '#include' –
BLUEPIXY
@BLUEPIXY: зачем требовать ''? '' даже не требуется, 'NULL' определяется в' 'среди многих стандартных заголовков. –
chqrlie
@chqrlie для 'EXIT_SUCCESS' – BLUEPIXY