All function parameters are passed by value. The value of a statement that is an expression is displayed, unless the main operator is an assignment. A semicolon or newline character separates statements. Assignments to scale control the number of dec- imal places printed on output and maintained during multiplication, division, and exponentiation. Assignments to ibase or obase set the input and output number radix, respectively.
All variables are global to the program.
Auto- matic variables are pushed down during function calls. When you use arrays as function parameters, or define them as automatic variables, empty brackets must follow the array name. All for statements must have all three expressions. The quit statement is interpreted when read, not when executed. If LANG is unset or null, the correspond- ing value from the default locale is used.