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
0
- Po co nawiasy kwadratowe w funkcja(tablica[])?
- 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;
}