我试图将字符打印为正值:

char ch = 212;
printf("%u", ch);

但我得到:

4294967252

我怎样才能在输出中得到212

推荐答案

申报你的ch元为

unsigned char ch = 212 ;

这样您的printf就可以工作了.

C++相关问答推荐

当我try 计算一个多项时,看到segfault.我做错了什么?

修改pGM使用指针填充2-D数组但不起作用

为什么信号量为空= 0,而不是阻塞?

getchar读css + z还是返回css?

这是一个合法的C Strdup函数吗?

为什么I2C会发送错误的数据?

GLIBC:如何告诉可执行文件链接到特定版本的GLIBC

GCC创建应用于移动项的单独位掩码的目的是什么?

为什么将函数名括在括号中会禁用隐式声明?

如何在C中只对字符串(包含数字、单词等)中的数字进行重复操作?

For循环不会迭代所有字符串字符吗?(初学者问题)

如何在双向表中实现线程安全,每个条目仅使用4位,同时避免任何全局锁?

初始成员、公共初始序列、匿名联合和严格别名如何在C中交互?

为四维数组中的Dim-1和Dim-3重新分配空间

C";中的ANN运行时判断失败#2-变量outputLayer;周围的堆栈已损坏.运行后出错

C++中PUTS函数的返回值

为什么我的半数组测试和奇数组测试不起作用?(我使用Assert进行调试)

从文件到链表读取日期

C Makefile - 如何避免重复提及文件名

我怎样才能用c语言正常运行这两个进程?