Нужно вставить 1 пробел после каждой запятой, если он отсутствует перед следующим словом.
#include <stdio.h>
#include <string.h>
void Insert(char sentence[256], int pos) {
for (int i = strlen(sentence); i >= pos; i--) {
sentence[i + 1] = sentence[i];
sentence[pos] = ' ';
}
}
int main() {
char sentence[256];
printf("Insert text: ");
fgets(sentence, sizeof(sentence), stdin);
for (int i = 0; i < strlen(sentence); i++)
if (sentence[i] == ',' && sentence[i + 1] != ' ')
Insert(sentence, i);
printf("\nYour edited text: %s\n", sentence);
return 0;
}
В результате выполнения, программа всё же добавляет пробел, но удаляет запятую
В чём же проблема?