C语言中x=—3*4&—6/5;printf(''%d'',x)中算术运算符的优先级不是* / %这样的吗?
C语言中x=—3*4&—6/5;printf(''%d'',x)中算术运算符的优先级不是*/%这样的吗?为什么这个式子是这样:((—3)*4%—6)/5呢??...
C语言中x=—3*4&—6/5;printf(''%d'',x)中算术运算符的优先级不是* / %这样的吗?为什么这个式子是这样:((—3)*4%—6)/5呢??
展开
3个回答
展开全部
这个式子的正确理解是这样的((-3)*4)&(-6/5)=(-12)&(-1)=-12
-12的二进制这样表示:1111 1100
-1的二进制这样表示: 1111 1111
然后按位与得: 1111 1100
即-12
-12的二进制这样表示:1111 1100
-1的二进制这样表示: 1111 1111
然后按位与得: 1111 1100
即-12
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
* / %优先级是相同的,需看结合性
该级运算符结合性自左向右
所以原式x=-3*4&-6/5等效于x= ( (-3)*4 ) & ( (-6)/5 )
x=-3*4%-6/5等效于x= ( ( (-3)*4 ) % (-6) ) / 5
该级运算符结合性自左向右
所以原式x=-3*4&-6/5等效于x= ( (-3)*4 ) & ( (-6)/5 )
x=-3*4%-6/5等效于x= ( ( (-3)*4 ) % (-6) ) / 5
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
对啊 全体单目运算不是全是第二位吗? + - * / 优先级在单目之后
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询