Funcja z tablicą,problem

0

Ma to być funkcja,która będzie wypisywała na ekran 5 pierwszych wyrazów danej tablicy. Program się nie kompiluje gdy nie podam rozmiarow tablicy bądz też nie dziala gdy rozmiar jest dany.
#include <stdio.h>
#include <stdlib.h>
void funkcja(int tablica[])
{
for(int i=0;i<=5;i++)
{
printf("%d\n",tablica[i]);
}
}
int main()
{
int tablica[]={1,2,3,4,5};
funkcja(tablica[]);
return 0;
}

0
  1. Po co nawiasy kwadratowe w funkcja(tablica[])?
  2. Pętla iteruje od 0 do 5, co powoduje off by one; Indeksujemy od 0 do 4.
0

Racja , nawiasy po to by petla for miala co przypisywac
#include <stdio.h>
#include <stdlib.h>
void funkcja(int tablica[])
{
for(int i=0;i<=4;i++)
{
printf("%d\n",tablica[i]);
}
}
int main()
{
int tablica[]={1,2,3,4,5};
funkcja(tablica[]);
return 0;
}

0
#include <stdio.h>
#include <stdlib.h>

void funkcja(int tablica[],size_t size)
{
	for(size_t i=0;i<size;++i) printf("%d\n",tablica[i]);
}

int main()
{
	int tablica[]={1,2,3,4,5};
	funkcja(tablica,sizeof(tablica)/sizeof(*tablica));
	return 0;
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1