我有这个代码
我的代码有什么问题
它必须显示有多少不同的元素
0
什么是错误检查输出我无法找到我不工作的原因
答案 0 :(得分:0)
问题在于:
if(0 == maps&(1<<k)){
等于运算符==
的优先级高于按位运算符&
。所以上面对此进行了评估:
if ((0 == maps) & (1 << k )) {
您需要添加括号以获得所需的行为:
if (0 == (maps & (1 << k))) {
您需要在cout
电话中执行相同操作:
cout<<" "<<(int)((maps&(1<<k))==0);