printf("%d \n",12 &012)
2个回答
展开全部
12
&
012
就是12和10进行按位与运算(012是八进制12),也就是:
(二进制数)1100
&
1010
=
1000
即8。
问题补充的程序有问题。
char类型的长度是一个字节,而0xffff已经是两个字节了。应该是0xff吧?printf("%d
\n",x--)函数参数首先传递的是x--这个,但是它是先返回值才减小,因此x传递过去时候仍然是0xff。
0xff当作为无符号数的时候,数字为255,作为带符号数时候,是-1。char类型是带符号的,因此是-1。
&
012
就是12和10进行按位与运算(012是八进制12),也就是:
(二进制数)1100
&
1010
=
1000
即8。
问题补充的程序有问题。
char类型的长度是一个字节,而0xffff已经是两个字节了。应该是0xff吧?printf("%d
\n",x--)函数参数首先传递的是x--这个,但是它是先返回值才减小,因此x传递过去时候仍然是0xff。
0xff当作为无符号数的时候,数字为255,作为带符号数时候,是-1。char类型是带符号的,因此是-1。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
问题补充的程序有问题;;%d
\。
0xff当作为无符号数的时候;n"。char类型是带符号的,也就是。应该是0xff吧,因此x传递过去时候仍然是0xff,是-1,而0xffff已经是两个字节了,作为带符号数时候,因此是-1:
(二进制数)1100
&
1010
=
1000
即8。
char类型的长度是一个字节,但是它是先返回值才减小,数字为255?printf(",x--)函数参数首先传递的是x--这个12
&
012
就是12和10进行按位与运算(012是八进制12)
\。
0xff当作为无符号数的时候;n"。char类型是带符号的,也就是。应该是0xff吧,因此x传递过去时候仍然是0xff,是-1,而0xffff已经是两个字节了,作为带符号数时候,因此是-1:
(二进制数)1100
&
1010
=
1000
即8。
char类型的长度是一个字节,但是它是先返回值才减小,数字为255?printf(",x--)函数参数首先传递的是x--这个12
&
012
就是12和10进行按位与运算(012是八进制12)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询