Передача указателя на строку в функцию - 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);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д