【问题标题】:Why do unsigned variables still handle negative numbers? [duplicate]为什么无符号变量仍然处理负数? [复制]
【发布时间】:2019-08-19 01:58:08
【问题描述】:

我运行了这段代码:

#include <stdlib.h>


int main(){

    unsigned int x = -1;
    printf("%d\n", x);
}

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

【问题讨论】:

    标签: c


    【解决方案1】:

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

    #include <stdlib.h>
    
    
    int main(){
    
        unsigned int x = -1;
        printf("%u\n", x);
    }
    

    【讨论】:

    • 哦,是的,你是对的。抱歉,我刚刚注意到这一点,我正在学习 C-Lang。
    猜你喜欢
    • 2019-11-06
    • 2012-11-16
    • 2019-01-16
    • 1970-01-01
    • 1970-01-01
    • 2010-10-05
    • 2021-08-02
    • 2021-06-05
    • 1970-01-01
    相关资源
    最近更新 更多