我目前正在研究 C++ Primer 第五版中的练习 3.35!我使用 while
循环完成了这个练习。但是当我使用 for
循环来尝试这个练习时,我无法解决更改数组元素值的问题。 (我确实解决了问题,但没有使用指针)。
我需要的是,如果你能帮我解决这个练习,在for
循环中使用指针改变数组的值。
自己锻炼
使用指针,编写程序将数组中的元素设置为 0(零);
我使用指针的代码
int main()
{
int arr[] = {1,2,4,6,8,10,12,14,16,18};
int *pbeg = begin(arr);
int *pend = end(arr);
while (pbeg != pend)
{
pbeg[0]=0;
++pbeg;
}
for (auto ii : arr)
{
cout<<ii<<" ";
}
keep_window_open("~");
return 0;
}
for
我做过的循环代码
int main()
{
const size_t ar =10;
int arr[ar] = {1,2,4,6,8,10,12,14,16,18};
for (size_t i = 0; i < ar; ++i)
{
arr[i]=0;
}
for (auto ii : arr)
{
cout<<ii<<" ";
}
keep_window_open("~");
return 0;
}
在这个 for
循环中我没有使用任何指针。
最佳答案
试试这个:
for(int i = 0; i < size; i++) {
*(pbeg+i) = 0;
}
pbeg 是您的内存地址,因此您添加 i 以向前移动那么多元素。
关于c++ - 改变数组元素的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17498160/