Удаление лишних пробелов - C (СИ)

Формулировка задачи:

Приветствую. Все с той же задачей, нужно написать функцию, которая удаляет лишние пробелы из строки. С заданием я справился, но теперь, на основе этой функции нужно написать два кода, один с применением индексированных массивов, второй с применением указателей. Вроде как там нужно заменить несколько строк, но у меня что-то не получилось. Мой код функции:
#include<stdio.h>
#include<conio.h>
 
void main()
{
    int s=0;
    printf("Input your text:\n");
    while ((s = getchar())==' ')
     ;
    putchar(s);
    prob(s);
    printf("Press any key to exit...");
    _getch();
}
int prob(char s)
{
    int d;
    d = 0;
    while ((s = getchar()) != EOF) 
    {
        if (s == ' ')       
            d++;
        if (d <= 1 )        
            putchar (s);
        if (s != ' '&&d > 1)  
            putchar (s);
        if (s != ' ')       
            d=0;
    }
    return 0;
}
Заранее благодарен за помощь.

Код к задаче: «Удаление лишних пробелов - C (СИ)»

textual
// ...
#include <string.h>
// ...
 
int main() {
    char text1[256], text2[256];
 
    printf("text: ");
    fgets(text1, sizeof(text1), stdin);
    strcpy(text2, text1);
 
    printf("func1: %s", func1(text1));
    printf("func2: %s", func2(text2));
 
    return 0;
}

12   голосов, оценка 4.417 из 5


СОХРАНИТЬ ССЫЛКУ