4个回答
2016-01-06
展开全部
15题(int)f1=2,这个是直接舍去小数点后来取整的(注意这个括号int只对f1有用)。
再加上f2的2.5,就是4.5
另:14题看不见题目
再加上f2的2.5,就是4.5
另:14题看不见题目
追问
大神帮忙看看16题吧 y不执行了吗?
我看懂了 不执行是因为前一句不为0 为真 所有不执行
展开全部
15 题: (int)f1+f2: (int)f1把f1强制类型转换为整数型,所以小数部分被舍弃, 其值为2
2+2.5 就是 4.5
16 题:a=(x=x+1)||(y=y+1)
按运算优先级:
先执行 x=x+1, 此时x 等于3,表达式x=x+1的返回值为3
再执行 3 ||(y=y+1), 3为真(非0即真),|| 短路,后面语句得不到执行,y保持不变即2
(x=x+1)||(y=y+1)返回值为真,即1
追问
万分感谢 !
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
A 数组只有五个元素。 p+0到p+4合法, p+5越界。
B *a其实就是a[0] 所以 *a+1是a[0]+1 不是地址。
C a本身已经等效int*型了,所以 &a其实是int**型。 更准确的说法是int*[5]这样的数组指针。 再加1,其值等效于&a[5]
这段可能不好理解, 总之这里是类型不匹配就好。
D唯一正确项
B *a其实就是a[0] 所以 *a+1是a[0]+1 不是地址。
C a本身已经等效int*型了,所以 &a其实是int**型。 更准确的说法是int*[5]这样的数组指针。 再加1,其值等效于&a[5]
这段可能不好理解, 总之这里是类型不匹配就好。
D唯一正确项
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
选b是因为f1被强制转换成整型就是2。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询