將數組操作抽離為函數,參數傳 int arr[] 及 length,提高復用性與可讀性。
#include <stdio.h>
void array_init(int arr[], int len) {
printf("請輸入 %d 個整數: ", len);
for (int i = 0; i < len; ++i) scanf("%d", &arr[i]);
}
void array_reverse_print(const int arr[], int len) {
printf("逆序輸出: ");
for (int i = len - 1; i >= 0; --i) printf("%d ", arr[i]);
puts("");
}
void array_clear(int arr[], int len) {
printf("清零後: ");
for (int i = 0; i < len; ++i) {
arr[i] = 0;
printf("%d ", arr[i]);
}
puts("");
}
int main(void) {
int a[10];
int n = sizeof(a)/sizeof(a[0]);
array_init(a, n);
array_reverse_print(a, n);
array_clear(a, n);
return 0;
}
array_copy、array_find、array_sort 等通用算法。void* + size_t elem_size 實現泛型數組操作。scanf 返回值檢查、邊界斷言。