我有這樣的代碼:計算數組的大小
int main() {
int array[5];
int x;
int n;
for(x = 0; x != 5; x++) {
scanf("%d", &n);
if(n % 2 == 0) {
array[x] = n;
}
printf("%d", sizeof(array))
我想知道有多少變量保存在數組中。
鑑於用戶輸入「2,3,5,6,7,8」,它只會得到「2,6,8」,有沒有什麼辦法可以得到它的大小?我能做到這一點
一種方法是讓另一個INT:
int main() {
int array[5];
int x;
int g = 0;
int n;
for(x = 0; x != 5; x++) {
scanf("%d", &n);
if(n % 2 == 0) {
array[x] = n;
g++;
}
printf("%d", g);
有沒有辦法做到這一點不增加g
if塊裏面?
'8' not get .... – BLUEPIXY 2014-11-24 22:47:03
C是低級語言。它沒有「沒有價值」的變量的概念。你聲明瞭一個5個整數的數組,它在內存中分配了5個實際位,並且這些位總是包含5個整數,但是因爲你沒有初始化數組,所以它們可能是隨機的。如果你想要一個數據結構來記住有多少項目被放入它,你需要自己構建它,或者用像Python這樣的更高級的語言編寫它。 – 2014-11-24 22:47:16
它不清楚你想要做什麼 - 你想有多達5個偶數,並說有多少? - 或者你想要一個包含很多偶數的數組?你想要數組總是5? – pm100 2014-11-24 22:48:43