gpt4 book ai didi

c - 为什么 unsigned int 仍然是 signed?

转载 作者:太空宇宙 更新时间:2023-11-04 07:59:08 24 4
gpt4 key购买 nike

<分区>

我创建了一个 unsigned int 和 unsigned char。然后我分配 -10 值,char 保持无符号并给我一个值 246,但 unsigned int 取 -10 值。

#include <stdio.h>
int main ()
{


unsigned char a;
unsigned int b;
a=-10;
b=-10;
printf("%d\t%d\n", a,b);

}

编译和执行我有这个:

246     -10

我不知道为什么 unsigned int 仍然有符号,为什么 char 没有符号。

阅读“C 程序设计语言第 2 版”一书,我发现 char 在默认情况下可以是无符号的,具体取决于机器。

(我正在运行 NetBSD 作为操作系统。)

为什么在我声明为 unsigned int 时 int 是有符号的,为什么 char 的值为 246?

这是编译器或系统操作“功能”吗?

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