C语言中赋值的顺序

Python08

C语言中赋值的顺序,第1张

f=64.// 注释1

c=(5.0/9)*(f-32) //注释2

注释2先运行时,f还没赋值,为系统随机值

注释1运行时,f已按你的赋值,所以得到你想要的

赋值运算符是自右向左结合的。

以如下代码为例:

int a = 1,b=2,c=3

a=b=c

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

如果赋值运算为自左向右,那么执行顺序

a = b = 2

b = c = 3

结果a = 2, b=3, c = 3。

将输出2,3,3

如果赋值运算为自右向左,那么执行顺序为

b = c = 3

a = b = 3

结果a = 3, b=3, c = 3。

将输出3,3,3

通过实际运行,结果为3,3,3。说明结合方向是自右向左的。