Basis van programmeren in C
char s[10] = "hello";
printf("%zu %zu\n", strlen(s), sizeof s);Wat is de uitvoer als de bovenstaande code met een char-array die een string bevat, wordt uitgevoerd?
- A5 10
- B6 10
- C10 10
Antwoord en toelichting tonen
Antwoord: A. 5 10
Een string in C is een reeks tekens, gevolgd door het afsluitende teken '\0'. strlen telt de tekens vanaf het begin tot vlak voor '\0', dus geeft 5 voor "hello". sizeof s is de grootte van de hele array s, de gedeclareerde 10 bytes (de overige elementen bevatten 0). Als het aantal elementen wordt weggelaten, zoals in char s[] = "hello";, ontstaat een array van 6 bytes inclusief '\0'.