Witam,
Ostatnio zacząłem się uczyć pracy na wskaźnikach w C i mam zadanie, w którym mam napisać funkcję, która pobierze wskaźnik na łańcuch znaków, ilość wyrazów i wypisze elementy na parzystych indeksach tej tablicy (koniecznie korzystając ze wskaźników). Napisałem coś takiego i trochę działa, trochę nie - wypisuje (za małą) część tego, co powinna, a potem chyba wychodzi gdzieś za tablicę. Próbowałem to sam rozpracować dłuższy czas, ale za cholerę mi nie idzie, więc zwracam się o pomoc na forum. Jeśli zrobiłem jakiś oczywisty błąd to proszę bez linczu, cały czas się uczę :P
#include <stdio.h>
#include <stdlib.h>
#define N 20
void cojarobie(char *tab[],int i)
{
tab+=2*sizeof(char);
while(*tab!='\0'||*(tab-sizeof(char))!='\0')
{
if(*tab!=' ') printf("%c",*tab);
tab+=2*sizeof(char);
}
return;
}
int main()
{
char tab[N];
int i;
puts("Podaj lancuch znakow o maksymalnej dlugosci N-1 (domyslnie 19):");
scanf("%[^\n]s",&tab);
puts("Podaj liczbe wyrazow:");
scanf("%d",&i);
cojarobie(&tab,i);
return 0;
}