Я настраиваю программу, в которой, если я набираю строку, мне нужно использовать функцию с этими двумя формальными параметрами (указатель и символ).Каждый раз, когда я запускаю программу, код не будет проходить через мою объявленную функцию с фактическими параметрами.
Как это работает ...
1) Введите мою строку
2) Введите символ, который я хочу видеть, повторяется
3)функция запустит цикл for, чтобы увидеть, какие символы в моей строке (которые находятся в массиве) содержат повторяющийся символ;каждый раз, когда это происходит, оно будет увеличиваться и составлять общее количество повторений.Ниже приведен код моей функции ...
int main(void)
{
char string[100], rep_char = 'c', *ptr = string[0];
int charcnt(char *ptr, char c);
printf("Input your string: ");
gets(string);
printf("%i", strlen(string));
printf("\nWhich character in the string are you checking for repetition? ");
scanf_s("%c", &rep_char);
charcnt(*ptr, rep_char);
getch();
return 0;
}
int charcnt(char *ptr, char c)
{
int rep = 0;
char string[100];
for (int i = 0; i < strlen(string); i++)
{
*ptr = string[i];
if (string[i] == c)
{
rep++;
}
}
return rep++;
}
Я ожидаю, что будет работать так ...
[Ожидается]:
Введите вашу строку: привет там.
Какой символ в строке вы проверяете на повторение?l
2
Вместо этого я получаю ...
[Actual]:
Введите вашу строку: привет там.
Какиесимвол в строке вы проверяете на повторение?л