簡體   English   中英

理解 C 中的數組

[英]Understanding the arrays in C

我是 C 新手,需要一些幫助來理解這段代碼的工作原理。 我知道它讀取用戶寫入的值,將它們放入一個數組中,然后將它們打印出來。

但我不明白為什么我需要兩個“計數器”( ij )來做到這一點。 有人可以幫我弄清楚嗎?

#include<stdio.h>
int main ()
{                               
int A[5];
int i=0;
int j=0;

while (i < 5)                
i++;
printf("Enter your %d number\n", i);
scanf("%d", &A[i]);
}

while (j < 5)               
{
j++;
    printf ("\n%d\n", A[j]);
}
}

你不需要它,你可以簡單地重置第一個並重新使用它。 但是,您必須在使用它后才增加索引,否則您將溢出數組的限制:

#include<stdio.h>
int main ()
{                               
    int A[5];
    int i=0;


    while (i < 5) {               
        printf("Enter your %d number\n", i);
        scanf("%d", &A[i]); // the last must be 4 not 5
        i++;                //<== increment here
    }

    i=0;
    while (i < 5)               
    {
        printf ("\n%d\n", A[i]); //idem
        i++;
    }
}

從技術上講,您擁有的不是兩個計數器,而是兩個循環。 如果您願意,也可以通過執行以下操作將i用於第二個循環:

while (i < 5)                
i++;
printf("Enter your %d number\n", i);
scanf("%d", &A[i]);
}

i = 0;
while (i < 5)               
{
i++;
    printf ("\n%d\n", A[i]);
}

至於你為什么有兩個循環,原因很簡單。 第一個循環(在您的代碼中使用i )將 5 個整數讀入數組 A。在第一個循環結束后,您的數組 A 保存了 5 個 int 值,您可以隨意使用這些值。 在您的情況下,您想打印這些值。 所以你要做的是使用一個循環來遍歷數組元素並將值一個一個地打印到屏幕上。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM