c语言中 a=b>c 和a==b>c 中有啥子不同

如题所述

c语言中 a=b>c 和a==b>c区别为:执行步骤不同、结果值不同、结果对象不同。

一、执行步骤不同

1、a=b>c:a=b>c的执行步骤为b>c。

2、a==b>c:a==b>c的执行步骤为先b>c,再a==(b>c)。

二、结果值不同

1、 a=b>c:如果b比c大,则 a的结果值为true;如果b比c小或相等,则 a的结果值为false。

2、a==b>c:如果b比c大,且a为true,则a==b>c的结果值为true;如果b比c大,且a为false,则a==b>c的结果值为false;如果b比c小,且a为false,则a==b>c的结果值为true;如果b比c小,且a为true,则a==b>c的结果值为false。

三、结果对象不同

1、 a=b>c: a=b>c的结果对象是变量a。

2、a==b>c:a==b>c没有结果对象,只有结果值是。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-11-21

一、a==b>c和a==(b>c)是一样的表达方式,先判断b>c是否成立,如果成立,用1和a比较,如果a=1,则整个表达式为1。

1、若为真,a为1则该表达式为真,即该符合表达式的值为1。

2、若为假,a不为0则该表达式为假,即该符合表达式的值为0。

二、a=b>c和a=(b>c)是一样的表达方式,先判断b>c是否成立,如果成立,把1赋给a。

1、如果b>c为假,则把0赋值给a。

2、如果b>c为真,则把1赋值给a,

扩展资料

C语言中a=b=c,a=b==c,a==(b=c),a==(b==c)的使用

#include<stdio.h>

main()

{

inta=4,b=2,c=3;

intd=8;

printf("%d,%d,%d,%d\n",a=b=c,a=b==c,a==(b=c),a==(b==c));

//system("pause");

printf("%d,%d\n",++d,--d);

printf("%d\n",5==3);

/*这两个个表达式说明==判断语句输出的结果只有1或0;

*/

printf("%d",5==5);

return1;

}

本回答被网友采纳
第2个回答  2011-12-28
第一个,先判断b>c是否成立,如果成立,把1赋给a,否则把0赋给a
第二个,先判断b>c是否成立,如果成立,用1和a比较,如果a=1,则整个表达式为1,否则整个表达式为0。
第3个回答  2011-12-28
a=b>c
a=(b>c)a最后的结果不是0就是1,这可以说是一个赋值表达式
a==b>c
a==(b>c),这个是判断表达式
第4个回答  推荐于2017-10-04
1.a=b>c相当于a=(b>c)是一个赋值表达式,把(b>c)的值赋给a,
(1)如果b>c为真,则把1赋值给a,
(2)如果b>c为假,则把0赋值给a。
(3)运行完该表达式,仅a的值改变,b、c的值不变。
2.a==b>c也相当于a==(b>c)是一个符合表达式,先判断(b>c)的真假,
(1)若为真,a为1则该表达式为真,即该符合表达式的值为1。
(2)若为真,a不为1则该表达式为假,即该符合表达式的值为0。
(3)若为假,a为0则该表达式为真,即该符合表达式的值为1。
(4)若为假,a不为0则该表达式为假,即该符合表达式的值为0。
(5)运行完该表达式,a、b、c的值都不发生改变。本回答被提问者采纳