Nederlandse leereditie
Voorbeeld van arrays inlezen en doorlopen in C
Lees elementen in en doorloop alleen geldige array-indices.

Leg een capaciteit vast en controleer het aantal elementen vóór het inlezen. Voor een geheel getal krijgt scanf het adres &arr[i]. Controleer elke leesbewerking vóór gebruik van de waarde.
Geldige indices lopen van 0 tot N - 1. Gebruik dezelfde lengte voor lezen, verwerken en afdrukken. i <= N veroorzaakt één toegang te veel. De capaciteit kan groter zijn dan het aantal gevulde elementen.
Test één element, negatieve getallen en het toegestane maximum. Geef altijd de lengte apart door als een functie het array ontvangt.
Broncode
#include <stdio.h>
#define MAX_SIZE 100
int main(void) {
int arr[MAX_SIZE];
int n;
int sum = 0;
printf("Enter number of elements (1 to %d): \n", MAX_SIZE);
if (scanf("%d", &n) != 1 || n <= 0 || n > MAX_SIZE) {
fprintf(stderr, "Error: Invalid number of elements.\n");
return 1;
}
printf("Reading %d integers from input...\n", n);
for (int i = 0; i < n; i++) {
if (scanf("%d", &arr[i]) != 1) {
fprintf(stderr, "Error reading element at index %d.\n", i);
return 1;
}
sum += arr[i];
}
printf("\n--- Array Elements Summary ---\n");
for (int i = 0; i < n; i++) {
printf("arr[%d] = %d (Address: %p)\n", i, arr[i], (void *)&arr[i]);
}
double average = (double)sum / n;
printf("\nTotal Sum = %d\n", sum);
printf("Average = %.2f\n", average);
return 0;
}Openen in de compilerVerwacht resultaat
Enter number of elements (1 to 100): Reading 5 integers from input... --- Array Elements Summary --- arr[0] = 10 (Address: 0x...) arr[1] = 25 (Address: 0x...) arr[2] = 40 (Address: 0x...) arr[3] = 55 (Address: 0x...) arr[4] = 70 (Address: 0x...) Total Sum = 200 Average = 40.00
Veelgestelde vragen
Waarom blijven code en sommige resultaten Engels?
C-sleutelwoorden, namen, programmacommentaar en verwachte uitvoer blijven gelijk aan het origineel om uitvoerbare code en consistente tests te behouden. Uitleg en instructies zijn vertaald.