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

How does this C++ while loop work?

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

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

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

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

整个循环将像这样工作:

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

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

表达式中带逗号的第二个参数是您的条件。因此它将根据 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
};