A variables scope determines where it can be referred to in the code. A variables lifetime determines when it is destroyed .
No. A function other than main does not have to be prototyped if it is defined above where it is called. However, it is a good idea to prototype each function other than main.
No. A function need not have any arguments. If it has none, then the void keyword may be used in the parentheses following the function name .
Yes. A function may have more than one argument. If so, the arguments are separated by commas.
If a variable in main is passed by value to another function which changes the argument corresponding to that variable, the variable in main is not changed.
If a variable in main is passed by reference to another function which changes the argument corresponding to that variable, the variable in main is changed.
No. A function does not have to have a return value. If it doesnt have a return value, the keyword void is used in its place.
No. A function may not have more than one return value.
Yes. A function does not have to have a return value nor any arguments.
Yes. A function may have both a return value and arguments.