Jumps to position indicated by label . Return from function. If function returns void return should be used without additional argument. Otherwise the value of expr is returned. After evaluation of expr its value is compared with the case clauses.
Execution continues at the one that matches.
If no case clause matches and default clause exists, its statements are executed. The for statement is the only statement which really differs from for statements known from other languages. All other statements more or less only differ in their syntax. What follows are two blocks which are totally equal in their functionality. To understand this, you have to know, that an assignment is an expression.