有人可以幫我處理這段代碼。我不知道它做了什么。
#include <stdio.h>
int main()
{
int arr[5],i;
int a = 1, n = 5;
for (i=0; i<5;a = arr[i ]);
int d = a;
printf("%d",d);
}
uj5u.com熱心網友回復:
從技術上講,這段代碼有指標。這是因為陣列是指向存盤在其中的值的指標 (arr[0-5])。陣列的每個元素都指向記憶體中任意位置的地址。
int main()
{
int arr[10];
unsigned int x;
for(x = 0; x < 9; x )
{
arr[x] = x;
printf("%d ", *(arr x));
}
return 0;
}
在這段代碼中,您可以看到可以使用指標表示法在陣列中導航。
現在回答你的第二個問題。您在此處給我們的代碼首先初始化一個包含 5 個元素的陣列,一個名為“i”的 int,一個名為“a”的 int,其值為 1,一個名為“n”的 int,其值為 5。
然后你進入一個重復 5 次的 for 回圈。在 for 回圈中,您給出陣列 [i] 的值。但是因為陣列沒有填充數字,所以它會出現一個位于記憶體中任何位置的數字。
接下來你給變數'd''a'的值。至少你列印'd'。
我認為您需要它以便進入回圈并列印陣列的元素。
int main()
{
int arr[5], i, a = 1, d;
for(i = 0; i < 5; i )
arr[i] = i;
for(i = 0; i < 5; i )
{
a = arr[i];
d = a;
printf("%d ", d);
}
return 1;
}
我認為這就是你想要的。
uj5u.com熱心網友回復:
值得注意的是,我們沒有在 中添加任何感興趣的內容arr,但請注意此行末尾的分號:
for (i=0; i<5;a = arr[i ]);
這是一種簡潔(令人困惑?)的說法
for (i=0; i<5; i )
{
a = arr[i];
}
a總結中的任何內容也是如此arr。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/415832.html
標籤:
下一篇:關于堆和作用域
