本节书摘来自华章社区《C语言程序设计:问题与求解方法》一书中的第3章,第3.5节赋值表达式和多重赋值,作者:何 勤,更多章节内容可以访问云栖社区“华章社区”公众号查看
3.5 赋值表达式和多重赋值
赋值语句去掉分号,就成了赋值表达式。赋值表达式也完成与赋值语句一样的运算和存取数操作。不同之处在于,赋值表达式本身是具有一个计算值的,这个值与存放在赋值号左边变量中的值相等。
我们可以通过以下程序来验证这个说法是否正确:
#include<stdio.h>
int main(void)
{ float x,y=7.9;
printf("%f,%f",x=3.6+y,3.6+y);
}
运行此程序后,发现打印出的两个值是一样的。
多重赋值的作用是为多个变量赋予同一个数值(最右边表达式计算出来的值)。例如:
变量1=变量2=变量3=表达式;
上式相当于:
变量1=(变量2=(变量3=表达式));
由以上论述还可知,赋值运算符的结合性是从右到左的。
但是,读者要注意,以下的用法都是错误的:
int a=b=c=39;
这并不是多重赋值语句。