C 为什么无符号变量仍然处理负数?

C 为什么无符号变量仍然处理负数?,c,C,我运行了以下代码: #include <stdlib.h> int main(){ unsigned int x = -1; printf("%d\n", x); } #包括 int main(){ 无符号整数x=-1; printf(“%d\n”,x); } 它仍然有效,但不应该。因为有些人说“无符号变量不能处理负数”。您需要使用%u打印无符号整数。幸运的是,您将取一个整数(-1),将其转换为无符号整数,然后再次将其视为整数(%d) #包括 int mai

我运行了以下代码:

#include <stdlib.h>


int main(){

    unsigned int x = -1;
    printf("%d\n", x);
}
#包括
int main(){
无符号整数x=-1;
printf(“%d\n”,x);
}

它仍然有效,但不应该。因为有些人说“无符号变量不能处理负数”。

您需要使用%u打印无符号整数。幸运的是,您将取一个整数(-1),将其转换为无符号整数,然后再次将其视为整数(%d)

#包括
int main(){
无符号整数x=-1;
printf(“%u\n”,x);
}

哦,是的,你是对的。对不起,我刚刚注意到了这一点,我正在学习C语言。