inta=2,b=3,c=4,d=5;int m=2,n=2; a=3-(m=a>b )&&(n=c>d )+5; printf(“...
答案:6 悬赏:0 手机版
解决时间 2021-02-11 03:51
- 提问者网友:相思似海深
- 2021-02-10 03:02
inta=2,b=3,c=4,d=5;int m=2,n=2; a=3-(m=a>b )&&(n=c>d )+5; printf(“%d”,a );的输出结果 求解答步骤
最佳答案
- 五星知识达人网友:洒脱疯子
- 2021-02-10 04:12
a=3-(m=a>b )&&(n=c>d )+5考虑优先级:
(m=a>b )核心是一个赋值运算【因为不是m==a>b】下同,故均为真1
1&&1=1
化简为:a=3-1+5=7
输出结果为:
7
(m=a>b )核心是一个赋值运算【因为不是m==a>b】下同,故均为真1
1&&1=1
化简为:a=3-1+5=7
输出结果为:
7
全部回答
- 1楼网友:千杯敬自由
- 2021-02-10 08:31
a=1
(1)m=a>b ——>m=0
(2)3-0——>3
(3)n=c>d ——>n=1
(4)1+5——>6
(5)3&&6——>1
(6)a=1
- 2楼网友:低音帝王
- 2021-02-10 07:55
3-(m=a>b)&&(n=c>d)+5的计算过程:
3-(m=a>b)到3-(m=0)到3,(n=c>d)+5到(n=0)+5到5
a=3&&5到a=1,
所以最后输出a的值为1。
注意在进行逻辑运算的时候非零都当成“真”,逻辑值真假当成数值的时候是1和0。
- 3楼网友:蕴藏春秋
- 2021-02-10 06:41
a=(m=a>b)&&(n=c>d )+5;
(m=a>b)&&(n=c>d )+5; 这边表达式先计算(m=a>b)得m=0
而对于&&操作符,只要第一个操作数为0,后面的操作数就不计算了
所以最后
m=0
n=2
- 4楼网友:轮獄道
- 2021-02-10 05:39
答案是:1
运算符优先级是:+ -、>、&&、=,小括号优先级最高!
步骤:先算3-(m=a>b)=3,再算(n=c>d)+5=5,然后算3&&5=1
- 5楼网友:平生事
- 2021-02-10 04:26
结果是2。
#include<stdio.h>
main()
{
int a=1,b=2,c=3,d=4,m=2,n=2;
(m=a>b)&&(n=c>d);
printf("%d",n);
}
//分析:
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯