1

Тема: Потрібна допомога по символам в С.

Дан символ C і рядки S, S0. Після кожного входження символу C в рядок S вставити рядок S0.

#include <stdio.h>
#include <stdlib.h>

int main(){
    int i, len;
    char C, S0[1000]="", S1[1000]="", vst[2000]="";
    printf("Enter string S0: ");
    gets(S0);
    printf("Enter string S1: ");
    gets(S1);
    printf("Enter symbol: ");
    scanf("%c", &C);
    len= strlen(S0);
    for(i=0; i<len; i++){
        vst += S0[i];
        if(S0[i] == C){
            vst += S1;
        }
    }
    puts(S1);
    return 0;
}

Спочатку зробив на С++ сказали переробити на С і тепер вибиває помилку.

2

Re: Потрібна допомога по символам в С.

Я ще знайшов.

vst += S1;

Не можна так в сях робити, це фактично два вказівники на входження масивів, ну сплюсували ви їх, і що вийде? використовуйте конкатенацію.

Подякували: koala, Дмитро-Чебурашка2

3

Re: Потрібна допомога по символам в С.

... або пройти S один раз і підрахувати кількість символів С, виділити новий буфер розміром суми довжини S + n* довжина S0 (+1 для /0), і у цей буфер писати результат.

Подякували: Дмитро-Чебурашка1