Я хочу написать программу, которая удаляет гласные в строке. Это мой код:Как удалить гласные в строке
#include <stdio.h>
#include <string.h>
void f (char s[100])
{
int ok=0;
for (int i=0; i<strlen(s); i++)
{
if ((s[i]=='a')||(s[i]=='e')||(s[i]=='i')||(s[i]=='o')||(s[i]=='u'))
{
ok++;
strcpy (s+i,s+i+1);
}
}
printf ("%s",s);
}
int main()
{
f("alina");
return 0;
}
Когда я его скомпилирую, моя программа перестает работать. То же самое происходит, когда я его отлаживаю: когда я добираюсь до строки strcpy (s+i,s+i+1);
, появляется сообщение об ошибке: «программа перестала работать». Я делаю что-то неправильно? Я что-то пропустил?
Если бы вы сказали «строка» вместо «строка», это было бы правильно ... как исходный код и ваш передают «строку». – Dmitri
Спасибо, г-н@Dmitri, ты очень прав. :-) –