在C语言中,unsigned int a=65535 ; …………;printf("a=%d",a); 为什么输出结果a=-1

日期:2011-07-01 07:37:17 人气:3

在C语言中,unsigned int a=65535 ; …………;printf("a=%d",a); 为什么输出结果a=-1

a的类型是不带不符号,也就是说有一个变量为a的box中装入了一个数据,而printf中的%d又将a作为带符号数显示,在其他未明确指出时,a显示是一个不带符号数,而你使用了%d要求将a作为带符号数显示,那么显然显示的结果是-1,也就是说,如果a=95,printf("a=%c",a);则会显示成字符a呢!
    A+
热门评论