Program dziala prawidlowo, jednak testy wykazuja blad, Funkcja zlicza ilosc elementow tablicy
SIGSEIV w linijce w funkcji tab_size if(*(tab+i) != -1)
Czy funkcja jest zla czy chodzi o dodatkowe zalozenia?
#include <stdio.h>
#include <stdlib.h>
int tab_size(const int* tab);
int main()
{
int i, *tab, tablica[100];
tab = tablica;
printf("Wpisuj wartosci calkowite\n");
for(i = 0; i < 100; i++)
{
scanf("%d", &*(tab+i));
if(*(tab+i) == -1) break;
}
printf("%d", tab_size(tab));
return 0;
}
int tab_size(const int* tab)
{
int i, size = 0;
for(i = 0; i < 100; i++)
{
if(*(tab+i) != -1) size++;
else break;
}
return size;
if(tab == NULL || i == 0) return -1;
}