这段代码与指针有什么关系吗?
Does this code have anything to do with pointers?
有人可以帮我处理这段代码吗?
我不知道它的作用。
#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);
}
值得注意的是,我们没有在 arr
中放入任何感兴趣的内容,但请注意此行末尾的分号:
for (i=0; i<5;a+= arr[i++]);
这是一种简洁(令人困惑?)的表达方式
for (i=0; i<5; i++)
{
a += arr[i];
}
所以 a
总结了 arr
中的内容。
从技术上讲,这段代码有指针。这是因为数组是指向存储在其中的值的指针 (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' 的整数,一个名为 'a' 且值为 1 的整数,以及一个名为 'n' 的整数,它具有值 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;
}
我想这就是你想要的。
有人可以帮我处理这段代码吗? 我不知道它的作用。
#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);
}
值得注意的是,我们没有在 arr
中放入任何感兴趣的内容,但请注意此行末尾的分号:
for (i=0; i<5;a+= arr[i++]);
这是一种简洁(令人困惑?)的表达方式
for (i=0; i<5; i++)
{
a += arr[i];
}
所以 a
总结了 arr
中的内容。
从技术上讲,这段代码有指针。这是因为数组是指向存储在其中的值的指针 (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' 的整数,一个名为 'a' 且值为 1 的整数,以及一个名为 'n' 的整数,它具有值 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;
}
我想这就是你想要的。