代码示例
例一:
int a, b = 5;
bool c = (a = b);
cout << c;
输出结果:1
例二:
int a, b = 0;
bool c = (a = b);
cout << c;
输出结果:0
具体解释
在c++中,赋值也是一种运算,运算结果为左边的操作数,它还可以作为其他操作符的操作数参加运算。例如:
(a=b)*c
其含义为:先把b的值赋给a,然后计算a*c。
——出自《程序设计教程 用c++语言编程 第3版》(陈家骏,郑滔)
相关例题
题目
设有定义:int a=0,b=5,c;,执行语句 c=(a=b)||++a&&b++ 后,a、b、c 的值分别是?
解答
注意“||”的“短路求值”。“||”前的表达式 (a=b) 整体的值为5,非零,故c=1。“||”后的表达式不会执行,故a=5,b=5。