printf("%d",i<j == j<k);
答案:4 悬赏:10 手机版
解决时间 2021-03-21 08:01
- 提问者网友:不要迷恋哥
- 2021-03-20 13:32
printf("%d",i<j == j<k);
最佳答案
- 五星知识达人网友:纵马山川剑自提
- 2021-03-20 14:33
printf("%d",i’,‘>’优先级高于‘==’符号,然后==符号的结合性是从左向右,因此,先求值i 假设int i = 0, j = 5, k=3;
那么根据上面表述,i 假设int i = 0, j = 3, k=5;
那么根据上面表述,i
那么根据上面表述,i
那么根据上面表述,i
全部回答
- 1楼网友:末日狂欢
- 2021-03-20 17:00
前面的两位回答的很明确 。
- 2楼网友:爱难随人意
- 2021-03-20 15:56
把这个表达式分开就明白了
首先 分析i i 然后 再比较返回值 是否相等 仍然是个bool类型
"%d" 格式符需要一个数字类型
因此c/c++将做隐式转换,把bool类型转换为 0或者!0
windows 下 将为转换为 0或者1
首先 分析i
"%d" 格式符需要一个数字类型
因此c/c++将做隐式转换,把bool类型转换为 0或者!0
windows 下 将为转换为 0或者1
- 3楼网友:孤老序
- 2021-03-20 15:34
在c语言中布尔类型是用整数表示的,0表示假,非0表示真。
但一般的编译器都把运算得到的真赋值为1。
所以如果i j 然后再把两个结果做一个==运算,如果相等就得到1,不相等得到0。
所以最后打印的值不是0就是1。
但一般的编译器都把运算得到的真赋值为1。
所以如果i
所以最后打印的值不是0就是1。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯