作业帮 > 综合 > 作业

int a=0,b=4,k=2;k=a+1>0||(++a

来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/11/06 08:36:36
int a=0,b=4,k=2;k=a+1>0||(++a
int a=0,b=4,k=2;k=a+1>0||(++a
k=(n=b>a)||(m=a<b);
其实就是在考察运算符的优先级,以及逻辑运算符 或
关系运算符 >大于赋值运算符 所以 b>a为1 (2>1)
所以此时n=1 ,再看右边也是一样的,所以m=1( 1<2 不成立为0),
所以现在就成了 k=1||0 因为是或运算所以此时k=1,所以此时输出 1,1
但是此时你别忘了,m=a<b,在执行玩了或运算后,此时赋值消失(m=a<b),所以此时m还是为零的,
关系运算符,你看 a=2,b=5,
printf("%d",(2>5)) 此时输出0,因为2不大于5,在c中,不为零的值都表示真,反之假,