Function parameter scope is the same as block scope. The block, in this case, is the function body. Even though the parameters seem to appear outside of the body of the function, they are actually declared and assigned inside the function body when the function is called. Consider the following function:
double decimalSum( double d1 , double d2 ) {
double d3;
d3 = d1 + d2 ;
return d3;
}
The d1 and d2function parameters are part of the function body and therefore have the block scope of the function. The d3 variable also has the block scope of the function. All of these variables go out of scope when the function returns to its caller.