这个C ++ while循环如何工作?

时间:2016-05-01 16:52:32

标签: c++ while-loop comma-operator

几个月前我学习了C ++的基础知识。最近我发现了一个看起来像这样的while循环。我想了解它的工作原理。

while(cin>>n>>m,n||m)
{
    does something;
}

3 个答案:

答案 0 :(得分:5)

operator , (operator comma)执行list中的所有指令并返回最后一个表达式的值,因此cin>>n>>m,n||m等于

cin >> n >> m;
n || m;

整个循环将像这样工作:

int n, m;
cin >> n >> m;
while(n || m){
    //some action
    cin >> n >> m;
}

答案 1 :(得分:0)

只要n和m不等于零,循环就会运行 每次它将首先执行cin >> n >> m然后检查条件n || m

答案 2 :(得分:0)

带逗号的表达式中的第二个参数是您的条件。因此,它将基于n||m评估循环,其中nm是作为输入读取的值。

cin>>n>>m;  //Read values of n and m
while(n||m) //Check if n OR m is true
{
    does something;
    cin>>n>>m; //Read the next set of values
};