C语言中无符号整数变量赋负整数为什么不报错,而且打印这个数也是负数
C语言中无符号整数变量赋负整数为什么不报错,而且打印这个数也是负数
日期:2015-02-01 18:24:31 人气:1
给一个无符号变量赋一个负数,就把这个“负数”的补码当正数对待了(unsigend的级别高于int)??这和给一个浮点变量赋一个整型数时被提升为浮点型一样??这符合C/C++的自动类型转换规则,所以不报错。至输出还是负数恐怕不对,除非你强制为int型输出,否则输出是无符号的。
C语言中无符号整数变量赋负整数为什么不报错,而且打印这个数也是负数