赋值语句的返回值永远为真?当然不是!
比如:
int a=0;
int b=(a=-1)?2:3;
int c=(a=0)?2:3;
cout << b << endl;
cout << c << endl;
输出:
再比如:
while(int a=0)//什么也不执行
{
cout<<"Y";
return 0;
}
while(int a=1)//不停输出Y,死循环
{
cout<<"Y";
return 0;
}
总结:赋值语句的返回值并非永远为真,若等号右边为非零,返回为真;若等号右边等于零,返回为假。