Передача указателя на строку в функцию - C (СИ)
Формулировка задачи:
Нужно написать функцию, которая бы удаляла из строки "все вхождения заданного символа в эту строку".
Компилятор выдает ошибку:
passing 'char (*)[256]' as argument 1 of 'modify(char *, int, const char *)'
Как исправить код ниже?#include <stdio.h>
#include <string.h>
using namespace std;
void modify ( char* str, int length, const char* c ){
for ( int i = 0; i < (length - 1); ++i )
{
if ( str[i] == *c )
{
for (int j = i + 1; j < (length - 1); ++j)
{
str[i] = str[j];
}
}
}
}
int main (int argc, char** argv) {
char str[256] = "";
char c;
printf( "\nInput string: " );
fgets( str, 256, stdin );
printf( "\nInput symbol: " );
scanf( "%s", &c );
modify ( &str, strlen (str), &c);
printf ( "Modified string:\t %s\n", str );
return 0;
}Решение задачи: «Передача указателя на строку в функцию»
textual
Листинг программы
modify (str, strlen (str), &c);