Funkcja zliczająca znaki z wykorzystaniem tablicy

0

Witam!
Mam za zadanie wykonać program zliczający znaki w zdaniu zadeklarowanym w tablicy, w języku ansi C. Jednak stworzony program wyrzuca mi błąd o treści "expected expression befor ']' token" nie rozumiem dlaczego się tak dzieje i czy po wyeliminowaniu tego błędu program będzie działał. Próbowałem już na wiele sposób przerobić swoją funkcję jednak bez powadzenia.

#include <stdio.h>
char napis[] = "Ala ma kota";

void zlicz(char tab[])
{
    for (int i = 0; tab[i] != EOF; i++) {
        if (tab[i] == 0) {
            printf("%2d\n", tab[i]);
        }
    }
}

void main(void)
{
    zlicz(napis[]);
}
1

Po wyeliminowaniu tego błędu program będzie "działał", ale nie będzie robił tego co oczekujesz i zapewne się zakończy błędem.

zlicz(napis[])

Wytłumacz mi co tutaj oznacza []

btw: podaj pełną treść zadania tak jak zostało zadane, nie "własnymi słowami"

0

Wyrażenie napis[] wraz z [] miało oznaczać tablicę, zawierającą zdanie "Ala ma kota".
Treści zadania to " Stwórz funkcję zlicz(), która zwróci ilość znaków w zdaniu zadeklarowanym w tablicy napis[]". Niestety dokładniej nie jestem w stanie przytoczyć polecenia, ponieważ jest to zadnie z ćwiczeń odbywających się on line, do których nie mogę wrócić w żaden sposób :(
Jeśli coś to pomoże na początku funkcji mieliśmy zadeklarować zmienną "int dl = długość(napis); " i ją wykorzystać w tworzeniu funkcji. Funkcja wyżej jest to mój pomysł, ponieważ nie rozumiałem jak można wykorzystać i jak działa powyższa zmienna. Mam nadzieję, że udało mi się coś naprostować.

0

Taki zapis jest po prostu niepoprawny w C. Jak chcesz przekazać zmienną to przekaż zmienną, a nie jakieś [].

zlicz(napis);

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