Function call:
In the function call, not any arguments are passed so there are no input arguments in the function header. The function returns an output argument, therefore that is stored in one variable.
calcarea function:
function call: area = calcarea(radius);
function header: function area = calcarea(rad)
In the function call, only one argument is passed in the parentheses, therefore there is one input argument in the function header. The function returns an output argument and hence that is stored in one variable.
printarea function:
function call: printarea(radius,area)
function header: function printarea(rad,area)
In the function call, there are two arguments passed, hence there are two input arguments in the function header. The function does not return anything, therefore the call to the function is a statement by itself; it is not in an assignment or output statement.
Obviously, the readradius function must actually error-check the user's input.