Co jest nie tak z moim kodem,za każdym razem zwraca kompletnie złą wartość,mimo ,że algorytm funkcji działa dobrze- po pobraniu numeru elementu od którego ma zacząć oraz zakończyć,tworzy nową tablicę o odpowiednim rozmiarze z wybranym przedziałem wartości.
Kod:
#include<stdio.h>
int *copy(int,int,int *);
int main()
{
int tab1[]={1,2,3,4,5,6,7,8,9,10};
int beg,end,i;
scanf("%d %d",&beg,&end);
int *tab2=copy(beg,end,tab1);
for(i=0;i<10;i++) printf("%3d",tab1[i]);
putchar('\n');
for(i=0;i<=end-beg;i++) printf("%3d",tab2[i]);
putchar('\n');
return 0;
}
int * copy(int beg,int end,int *tab1)
{
int i,tab[end-beg+1];
int *out=tab;
for(i=beg;i<=end;i++) tab[i-beg]=tab1[i-1];
return out;
}