在C語言中,可以通過以下幾種方式輸入不定長度的數組:
malloc()
函數動態分配內存空間。首先需要確定數組的最大長度,然后根據實際需要使用malloc()
函數分配相應的內存空間,最后通過循環結構從鍵盤讀取輸入的數據并存儲在數組中。示例代碼:
#include <stdio.h>
#include <stdlib.h>
int main() {
int* array; // 聲明指針變量
int length, i;
printf("請輸入數組長度:");
scanf("%d", &length);
// 動態分配內存空間
array = (int*)malloc(length * sizeof(int));
if (array == NULL) {
printf("內存分配失敗!");
return 0;
}
printf("請輸入數組元素:");
for (i = 0; i < length; i++) {
scanf("%d", &array[i]);
}
printf("你輸入的數組是:");
for (i = 0; i < length; i++) {
printf("%d ", array[i]);
}
free(array); // 釋放內存空間
return 0;
}
示例代碼:
#include <stdio.h>
int main() {
int length, i;
printf("請輸入數組長度:");
scanf("%d", &length);
int array[length]; // 聲明可變長度數組
printf("請輸入數組元素:");
for (i = 0; i < length; i++) {
scanf("%d", &array[i]);
}
printf("你輸入的數組是:");
for (i = 0; i < length; i++) {
printf("%d ", array[i]);
}
return 0;
}
注意:使用可變長度數組時,需要確保數組長度在運行時是合法的。