我目前正在使用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
循环中,我没有使用任何指针。
答案 0 :(得分:2)
试试这个:
for(int i = 0; i < size; i++) {
*(pbeg+i) = 0;
}
pbeg是你的记忆地址,所以你添加i来向前移动那么多元素。