我正在调试某人的代码,我有像
这样的代码int i = their_val;
std::cout << "output: " << i << std::endl;
当我查看日志输出时,我会看到像
这样的行output: a
这应该发生吗?是改变cout格式的东西还是更奇怪的东西?
答案 0 :(得分:3)
在输出之前有人cout << std::hex
了吗?它会导致它以十六进制打印。
答案 1 :(得分:3)
检查并查看std::hex
是否在任何地方传递到std :: cout。这会导致你看到的行为。
您可以使用以下方法强制使用小数:
std::cout << "output: " << std::dec << i << std::endl;
答案 2 :(得分:0)
你可能早些时候曾在某个地方做过std::cout << std::hex
。您可以使用std::cout << std::dec
撤消此操作。
std::cout << "output: " << std::dec << i << std::endl;