C语言中:unsigned int a=-2;printf("%u",a);输出结果为多少?
C语言中:unsigned int a=-2;printf("%u",a);输出结果为多少?
日期:2017-09-13 18:04:52 人气:1
在16位int平台下,输出是65534;在32位int平台下,输出是4294967294。以32位int平台为例,题中的unsigned int a=-2;语句在unsigned的修饰下,赋给变量a的是-2补码的无符号值,即4294967294。但后面的printf("%u",a);的输出并不与a是否为有符号数没有关系,输出是否为有符号数由"%u"中的控制符%u决定,这里%u表示将变量a按无符号数输出,所以输出是4294967294。因此,如果将unsigned i