gpt4 book ai didi

c++ - cout 不打印无符号字符

转载 作者:IT老高 更新时间:2023-10-28 22:23:46 25 4
gpt4 key购买 nike

我正在处理以下代码:

#include<iostream>
#include<stdio.h>

using namespace std;

main() {
unsigned char a;
a=1;
printf("%d", a);
cout<<a;
}

它正在打印 1 和一些垃圾。

为什么 cout 会这样?

最佳答案

cout << a正在打印一个对您来说似乎是垃圾的值。其实不是垃圾。它只是一个 non-printable ASCII 字符,无论如何都会被打印出来。注意 ASCII 字符对应 1不可打印。您可以查看是否a是否可打印, std::isprint 如:

std::cout << std::isprint(a) << std::endl;

它将打印 0 (阅读:false)表示字符不可打印

--

无论如何,如果你想要你的 cout打印 1也,然后转换a对此:

cout << static_cast<unsigned>(a) << std::endl;

关于c++ - cout 不打印无符号字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15585267/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com