为什么我输出的数组是一串000000?
#include<stdio.h>
#include<string.h>
void maopao(int arr[], int sz) {
for (int a = 0; a < sz - 1; a++) {
for (int b = 0; b < sz - 1 - a; b++) {
if (arr[b] > arr[b + 1]) {
int temp = arr[b];
arr[b] = arr[b + 1];
arr[b + 1] = temp;
}
}
}
}
int main()
{
int n;
int arr[100] = { 0 };
while(~scanf("%d", &n)) {
if (n == 0) {
break;
}
memset(arr, 0, sizeof(arr));
int j = 0;
for (int i = 1; i <= n; i++) {
int d;
scanf("%d", &d);
arr[j] = d;
j++;
}
int sz = sizeof(arr) / sizeof(arr[0]);
maopao(arr, sz);
for (int c = 0; c < n; c++) {
printf("%d ", arr[c]);
}
printf("\n");
}
return 0;
}