Я написал следующую программу для добавления символа '*' после каждого гласного в строке C
#include <iostream>
#include <string.h>
using namespace std;
int main()
{
char s[99];
cin.get(s, 99);
char aux[99];
for (int i = 0; i < strlen(s); i++)
if(strchr("aeiou", s[i])){
strcpy(aux, s + i);
strcpy(s + i + 1, aux);
s[i+1] = '*';
}
cout << s;
return 0;
}
Так что, если я введу слово brain
, оно выдаст bra*i*n
, и оно отлично работаетхорошо. Однако, если я избавлюсь от этой строки 'aux' и вместо strcpy(aux, s + i); strcpy(s + i + 1, aux);
я просто сделаю strcpy(s + i + 1, s + i);
, моя программа перестает работать. (Бесконечный цикл, не возвращает 0). Почему это так?