为什么 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'任何特定方向 -- 变量名的范围从变量的声明符开始,扩展到包含声明的块(或文件,如果位于全球范围)。因此它包括声明符的初始值设定项和同一声明中的任何后续声明符,以及任何后续声明。
为什么 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'任何特定方向 -- 变量名的范围从变量的声明符开始,扩展到包含声明的块(或文件,如果位于全球范围)。因此它包括声明符的初始值设定项和同一声明中的任何后续声明符,以及任何后续声明。