Édition pédagogique en français
Saisie et parcours d’un tableau en C
Lisez avec scanf et parcourez les éléments sans dépasser la capacité.

Définissez une capacité et validez le nombre d’éléments avant la saisie. Pour un entier, scanf reçoit l’adresse &arr[i]. Vérifiez chaque lecture avant d’utiliser la valeur.
Les indices valides vont de 0 à N - 1. Gardez la même longueur pour lire, traiter et afficher. i <= N provoque un accès supplémentaire. La capacité peut dépasser le nombre d’éléments effectivement remplis.
Testez un élément, des valeurs négatives et le maximum autorisé. Transmettez toujours la longueur séparément lorsqu’une fonction reçoit le tableau.
Code source
#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;
}Ouvrir dans le compilateurRésultat attendu
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
Questions fréquentes
Pourquoi le code et certains résultats restent-ils en anglais ?
Les mots-clés C, les identifiants, les commentaires du programme et les sorties attendues restent ceux de la version originale pour conserver un code exécutable et des tests cohérents. Les explications et les consignes sont traduites.