如题,我写了这样的一个代码:
#include <bits/stdc++.h>
using namespace std;
const int n=9;
bitset <n> t;
int main() {
for (int i=0;i<n;i++)
if (t[i])
printf("%d\n",t[i]);
return 0;
}
然后发现每个输出的都是 6422000。(操作系统为 Win10)。
认为自己的 IDE 出了问题,随后去洛谷 IDE 运行,发现还是一个类似随机数字。
使用 cout 即可正常输出。
想问的是,printf 可以输出 bool 型的变量,但为什么不能输出 bitset 的一位。