我很好奇c ++如何处理这个嵌套的条件运算符。我有一半的把握可以理解它是如何工作的,但是我很好奇,有人可以通过图表解释循环如何执行嵌套的条件运算符。

例如,对于每个实例,循环将通过每个条件运算符的第一个表达式执行吗?

此嵌套条件运算符的结构也如下:

(i
!一世 ? y:x [1];

我想我对此很好奇。除非您有能力对循环如何执行此条件运算符进行详尽的解释,否则请不要回答。

#include "stdafx.h"
#include <iostream>

using namespace std;

int _tmain(int argc, _TCHAR* argv[])

{
const char x[2] [20] = {" Cloud "," at your service\n"};
const char * y = "Strife";
for (int i = 0; i < 7; i++)
    cout << (( i < 2)? !i ? x [i] : y : x[1]);

cout << endl << endl << x[0] << endl << x[1] << endl;

cin.get();
cin.get();
return 0;
}

最佳答案

如有疑问,请清楚说明...

for (int i = 0; i < 7; i++)
{
    if (i < 2) {
        if (!i) { // technically, this is "if i == 1"
            cout << x[i];
        } else { // and this is "if i == 0"
            cout <<y;
        }
    } else {
        cout << x[1];
    }
}


只需通过声明即可。 ?之前的所有内容都放在if中,然后只需打开{直到我们看到:

关于c++ - C++嵌套条件运算符循环,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20712745/

10-11 00:23