Cプログラムでのポインターの使用を理解するのに問題があります。プログラムは、配列内のすべての要素を出力するように設計されています。最も紛らわしい部分は、私には意味がないように思われるforループです。最初からのpの値は何ですか?条件p <a + nが常に真の場合、ループはどのように停止しますか?
void element(int a[], int n)
{
for (int *p = a; p < a + n; p++)
printf("%d ", *p);
}
int main()
{
int f[5] = {1, 2, 3, 4, 5};
element(f, 5);
}
あなたのコードの場合、Pポイントにa[0]
、その後にa[1]
、その後、a[2]
というように。
条件はp < a + n
あなたインクリメントPは、それからポインタpの移動を行うときので、終了さa[0]
にa[1]
ように、したがって、その価値を高め、、a+n
です1+5=6
。
したがって、pが5に達すると、次の反復で条件がfalseになります。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加