Natka
16.05.2014, 06:44
Добрый день,
Подскажите пожалуйста только недавно начали Си изучать и нам дали такое задание: Считать строку любой длины с клавиатуры и переделать ее в массив с динамическим выделением памяти, вот код который я написала, ошибки он не выдает, но я не знаю правильно ли он работает?, и можно ли таким способом выделить память?
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
char *S;
int *p, i;
int t = 20;
printf("Введите предложение");
gets(S); // считываю предложение
p = (char*)malloc(strlen(S)+1);// выделяю память
if(!p) //проверяю есть ли свободная память
printf("Невозможно выделить память");
return 1;
char tab[*p]; //создаю массив
strcpy(tab[i],S); //копирую строку в массив
system("PAUSE");
return 0;
}
Подскажите пожалуйста только недавно начали Си изучать и нам дали такое задание: Считать строку любой длины с клавиатуры и переделать ее в массив с динамическим выделением памяти, вот код который я написала, ошибки он не выдает, но я не знаю правильно ли он работает?, и можно ли таким способом выделить память?
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
char *S;
int *p, i;
int t = 20;
printf("Введите предложение");
gets(S); // считываю предложение
p = (char*)malloc(strlen(S)+1);// выделяю память
if(!p) //проверяю есть ли свободная память
printf("Невозможно выделить память");
return 1;
char tab[*p]; //создаю массив
strcpy(tab[i],S); //копирую строку в массив
system("PAUSE");
return 0;
}