猿问

为什么这个输出不了?

cout<<b==&b[0]<<endl;为什么输出不了  而cout<<(b==&b[0])<<endl;可以?

慕斯7376262
浏览 771回答 1
1回答

onemoo

一般这种复合表达式出问题涉及括号的,你就优先考虑下运算符优先级的事。事实上, << 运算符的优先级要高于 == 运算符,所以cout<<b==&b[0]<<endl实际上是:(cout << b) == (&b[0] << endl)那么 &b[0] << endl 这里的 << 就是移位运算符,然而它的操作数不能是指针类型,所以会在此报错。
随时随地看视频慕课网APP
我要回答