划线部分怎么理解?
?表达式可以转换成if-else语句,这么写你就明白了。
char x[2][20];
const char* y = "";
string s;
for (int i = 0; i < 3; i++)
{
if (i < 2)
{
if (!i) cout<< x[i];
else cout<< y;
}
else
{
cout<<x[1];
}
}
这个主要是三元运算符a<b?a:b,先判断问号前面的内容是否为真,如果是真则取冒号前面的值,为假则取冒号后面的值。
在这道题里,先判断i是不是小于2,是的话取值!i,!是非的意思,如果i=0,那么!i=1,如果i不等于0,!i=0