更改Array元素的值

时间:2013-07-05 23:39:49

标签: c++

我目前正在使用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循环中,我没有使用任何指针。

1 个答案:

答案 0 :(得分:2)

试试这个:

for(int i = 0; i < size; i++) {
    *(pbeg+i) = 0;
}

pbeg是你的记忆地址,所以你添加i来向前移动那么多元素。