Я изучаю C, но я все еще нуб. Я пишу программу в качестве упражнения по динамическому распределению памяти, которая берет от пользователя текст неизвестной длины и возвращает этот текст без пробелов, табуляции, специальных символов или цифр. Программа, кажется, работает нормально, за исключением того, что часть текста кажется измененной на неизвестные символы по неизвестным причинам. Вот код:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
char *pstring;
pstring = (char *)malloc( sizeof(char));
char c = '$';
int i = 0;
while(c != '\n')
{
c = getchar();
if(isalpha(c))
{
pstring[i] = c;
realloc(pstring, (i+2)*sizeof(char));
i++;
}
}
int j;
for(j = 0; j < i; j++)
{
printf("%c", pstring[j]);
}
return 0;
}