为什么 compiler/computer 阅读代码的方向会因情况而异? (C语言)

Why does the direction of reading code by the compiler/computer change for different cases? (C language)

为什么 computer/compiler“读取”
a=b+a
从右到左但不是
float b=a+1.2, a=1.0
两行代码完全不相关。

如果编译器确实从右到左读取,那么: float a=1.0, b=a+1.2 应该会报错,因为 "a" 还没有声明,对吧?

float a=1.0, b=a+1.2逻辑正确还是 float b=a+1.2, a=1.0

背景:
我刚刚开始 C 编程,这是我在 hello world 之后的第三个程序。所以请在回答时记住这一点。 谢谢。

编译器不会'read'任何特定方向 -- 变量名的范围从变量的声明符开始,扩展到包含声明的块(或文件,如果位于全球范围)。因此它包括声明符的初始值设定项和同一声明中的任何后续声明符,以及任何后续声明。