C语言中,a=b=c,a=b==c,a==(b=c),a==(b==c)有什么区别

main()
{int a=1,b=2,c=3;
printf("%d,%d,%d,%d\n",a=b=c,a=b==c,a==(b=c),a==(b==c));
}

第1个回答  2011-02-05
一个是赋值,一个是逻辑,运算顺序不同,有一个优先级的不同.
还有就是结合性不同,一个是向左,一个是向右
第2个回答  2011-01-24
=是赋值,==是关系等,=的运算级别低,==的运算级别高,=从右向左结合,==从左向右结合
第3个回答  2011-01-24
=为赋值,==为判断是否相等。此两种操作符运算优先级不同。
第4个回答  2011-01-25
答案分别是3,0,0,0
第5个回答  2018-01-09
执行结果是3,3,0,0 我是在Dev-c++上编译的
相似回答