如何使用 "range based for loop" 获取输入

How to take inputs using "range based for loop"

包含“cin”的循环不会更改值。循环内部发生了什么?我如何使用这个(基于范围的循环)来获取输入?

输入:-

#include<iostream>
using namespace std;

int main()
{
    int arr[]={1,2,3,4,5};

    //with outputs/cout it work properly
    for(auto x:arr)
    {
        cout<<x<<" ";
    }
    cout<<endl;


    //Now suppose, I want to change them
    for(auto x:arr)
    {
        cin>>x;
    }

    //now again printing
    for(auto x:arr)
    {
        cout<<x<<" ";
    }
}

输出:-

1 2 3 4 5
9 8 7 6 5
1 2 3 4 5

很简单!!我们只需要对创建的变量使用 & 运算符即可。

输入:-

int main()
{
    int arr[4];

    //INPUT VALUES
    for(auto &x:arr)
    {
        cin>>x;
    }

    //PRINTING VALUES
    for(auto x:arr)
    {
        cout<<x<<" ";
    }
}

输出:-

1 2 3 4
1 2 3 4