Edisi pembelajaran bahasa Indonesia. Kode dan keluarannya tetap seperti aslinya.
Membaca dan menelusuri array dalam C
Baca elemen menggunakan scanf dan proses array sesuai kapasitasnya.

Tetapkan kapasitas dan validasi jumlah elemen sebelum membaca. Untuk bilangan bulat, scanf menerima alamat elemen: &arr[i]. Pastikan pembacaan berhasil sebelum memakai nilainya.
Indeks yang sah adalah 0 hingga N - 1. Gunakan panjang yang sama saat membaca, memproses, dan mencetak. Kondisi i <= N menyebabkan satu akses tambahan. Kapasitas buffer dapat melebihi jumlah elemen yang benar-benar terisi.
Uji satu elemen, nilai negatif, dan ukuran maksimum yang diizinkan. Saat meneruskan array ke fungsi, kirim panjangnya sebagai parameter terpisah.
Kode C
#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;
}Buka di kompilerKeluaran yang diharapkan
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
Pertanyaan umum
Mengapa kode dan keluarannya tetap dalam bahasa Inggris?
Kata kunci, pengenal, dan teks yang diperiksa tes dipertahankan agar program tidak berubah. Penjelasan dan kontrol telah diterjemahkan.