程序员面试宝典:与或数值运算
下列代码的输出值是多少:
1: #include "stdafx.h"
2: #include <iostream>3: using namespace std;
4: 5: int _tmain(int argc, _TCHAR* argv[])
6: {7: int x=2,y,z;
8: x*=(y=z=5);cout<<x<<endl; 9: z=3; 10: x=(y=z);cout<<x<<endl; 11: x=(y==z);cout<<x<<endl;12: x=(y&z);cout<<x<<endl;/*y&z的意思是说将y和z按位与运算,y的二进制数位是0011,z
13: 的二进制数为也是0011,所以y&z的结果任然是0011,也就还是3,
14: 所以x的值任然是3.*/
15: x=(y&&z);cout<<x<<endl; 16: y=4;17: x=(y|z);cout<<x<<endl;/*y&z的意思是说将y和z按位或运算,y=4的二进制数位是0100,
18: z的二进制数为也是0011,所以y&z的结果任然是0111,也就是7,
19: 所以x的值7.*/
20: x=(y||z);cout<<x<<endl;21: return 0;
22: }
最终结果为:10 10 1 3 1 7

浙公网安备 33010602011771号