Записать строку с клавиатуры в массив - C (СИ)

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

Здравствуйте, столкнулся с небольшой проблемой. Я ввожу с клавиатуры предложение, программа удаляет знаки препинания и записывает получившуюся(слитную) строку в массив. Пример: Что ввожу: primer stroki v massive Что хочу получить: primerstrokivmassive Но у меня ошибка где-то в коде.
#include <stdio.h>
#include <string.h>
    int main()
{
    char str[80];
    char* t;
    char znak[]={' ', ',','/', '\\'};
    char *mass;
    mass = malloc(sizeof(char) * 100000000);
    int i=0;
            printf("\nVvedite stroku:\n");
            gets(str);
            t=strtok(str,znak);
    while (t != NULL)
    {
        mass[i]=t;
        i++;
        t = strtok (NULL,znak);
    }
 
    printf("массив: %s\n", mass);
    return 0;
}

Код к задаче: «Записать строку с клавиатуры в массив - C (СИ)»

textual
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
int main()
{
    char str[80];
    char *mass;
    mass = malloc(sizeof(char) * 1000);
            printf("\nVvedite stroku:\n");
            gets(str);
    for(int i = 0, j = 0; str[i]; ++i)
    {
        if((str[i] >= ' ' && str[i] <= '/') || (str[i] >= ':' && str[i] <= '@'))
            continue;
        mass[j] = str[i];
        j++;
    }
 
    printf("массив: %s\n", mass);
    return 0;
}

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


СОХРАНИТЬ ССЫЛКУ
Похожие ответы