社区讨论

关于 bitset 和 printf

学术版参与者 9已保存回复 24

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
24 条
当前快照
1 份
快照标识符
@lo8n4dva
此快照首次捕获于
2023/10/27 21:19
2 年前
此快照最后确认于
2023/10/27 21:19
2 年前
查看原帖
如题,我写了这样的一个代码:
CPP
#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;
}
然后发现每个输出的都是 64220006422000。(操作系统为 Win10)。
认为自己的 IDE 出了问题,随后去洛谷 IDE 运行,发现还是一个类似随机数字。
使用 cout 即可正常输出。

想问的是,printf 可以输出 bool 型的变量,但为什么不能输出 bitset 的一位。

回复

24 条回复,欢迎继续交流。

正在加载回复...