简单的C语言问题
若有定义语句:inta=7;floatx=2.5;y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是()答案是2..500000为什么啊?(y=6,y+1...
若有定义语句:int a=7;floatx=2.5;y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是( )
答案是2..500000
为什么啊?
(y=6,y+1,x=y,x+1)
这个表达式的值为什么等于7啊?
'as' -0fff '\0xa' 0x48a 它们四个为啥是非法字符啊? 展开
答案是2..500000
为什么啊?
(y=6,y+1,x=y,x+1)
这个表达式的值为什么等于7啊?
'as' -0fff '\0xa' 0x48a 它们四个为啥是非法字符啊? 展开
4个回答
展开全部
若有定义语句:int a=7;float x=2.5;y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是( )
x+a%3*(int)(x+y)%2/4
=2.5+7%3*(int)(2.5+4.7)%2/4
=2.5+7%3*7%2/4
=2.5+1*7%2/4
=2.5+7%2/4
=2.5+1/4
=2.5+0
=2.5
(y=6,y+1,x=y,x+1)
这个表达式的值为什么等于7啊?
逗号表达式的值是最后一个表达式x+1的值
'as' -0fff '\0xa' 0x48a 它们四个为啥是非法字符啊?
'as' 与'\0xa'超过一个字符
0x48a数值超过一个字节表求的最大值255
-0fff数值超过一个字节表求的最大值255
x+a%3*(int)(x+y)%2/4
=2.5+7%3*(int)(2.5+4.7)%2/4
=2.5+7%3*7%2/4
=2.5+1*7%2/4
=2.5+7%2/4
=2.5+1/4
=2.5+0
=2.5
(y=6,y+1,x=y,x+1)
这个表达式的值为什么等于7啊?
逗号表达式的值是最后一个表达式x+1的值
'as' -0fff '\0xa' 0x48a 它们四个为啥是非法字符啊?
'as' 与'\0xa'超过一个字符
0x48a数值超过一个字节表求的最大值255
-0fff数值超过一个字节表求的最大值255
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
a%3就是7%3=1
1*(int)(2.5+4.7)=7
7%2 = 1
1/4=0
于是表达式的值与x相同,但是是浮点数,因此为2.5,输出6位小数
1*(int)(2.5+4.7)=7
7%2 = 1
1/4=0
于是表达式的值与x相同,但是是浮点数,因此为2.5,输出6位小数
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
*由于(int)(x+y)%2/4的值是0
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询