Cześć,
zgłupiałem, więc piszę do Was. Nie rozumiem, dlaczego napisany przeze mnie program nie zwraca zawartości zmodyfikowanej przez funkcję tablicy. Generalnie, program ma pobierać n znaków lub kończyć się po wystąpieniu znaku odstępu - ten element działa. Na koniec zmodyfikowaną tablicę chcę wyświetlić poprzez: puts(lancuch). Niestety, wyświetla się puste pole. Dopiero gdy w funkcji głównej main wyświetlę zmodyfikowany lancuch (zakomentowane w programie) pojawia się wynik. Gdzie jest problem?
#include <stdio.h>
#include <ctype.h>
void funkcja(char * lancuch, int ile);
int main(void)
{
char * slowa;
funkcja(slowa,3);
//puts(slowa);
return 0;
}
void funkcja(char * lancuch, int ile)
{
fgets(lancuch, ile+1, stdin);
while(*lancuch)
{
if(isspace(*lancuch))
{
*lancuch = '\0';
break;
}
lancuch++;
}
puts(lancuch);
}