Deutsche Lernausgabe
Arrays in C einlesen und durchlaufen
Lesen Sie mit scanf und durchlaufen Sie Elemente innerhalb der Kapazität.

Legen Sie eine Kapazität fest und prüfen Sie die Elementzahl vor dem Einlesen. Bei einer Ganzzahl erhält scanf die Adresse &arr[i]. Prüfen Sie jeden Lesevorgang vor der Verwendung.
Gültige Indizes reichen von 0 bis N - 1. Verwenden Sie beim Lesen, Verarbeiten und Ausgeben dieselbe Länge. i <= N verursacht einen zusätzlichen Zugriff. Die Kapazität kann größer sein als die tatsächlich belegte Elementzahl.
Testen Sie ein Element, negative Werte und die erlaubte Höchstzahl. Übergeben Sie die Länge immer separat, wenn eine Funktion das Array erhält.
Quellcode
#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;
}Im Compiler öffnenErwartetes Ergebnis
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
Häufige Fragen
Warum bleiben Code und manche Ausgaben englisch?
C-Schlüsselwörter, Bezeichner, Programmkommentare und erwartete Ausgaben bleiben wie im Original, damit der Code ausführbar und die Tests konsistent bleiben. Erklärungen und Aufgabenstellungen sind übersetzt.