Generally in C program the function definition and calling takes the form as given below:
main() { int x,y,z; z=sample(x,y); printf("%d",z); } sample(x1,y1) int x1,y1; { int z1; z1= x1 - y1; return(z1); }
Here what happens is the values x, y gets passed to x1,y1 and the value z1 is calculated in sample function and the value z1 is returned which is got in z. This value namely z is then printed. Now let us see if the variables are not declared before the braces in the function and if it declared as below:
main() { int x=10; int z; z=sample(x); printf("%d",z); } sample(x1) { int x1; int z1; z1= x1+20; return(z1); }
This would give an error. Surprised!!!!!! Yes because the variable x1 is not declared before the braces of the function and so by default would be assumed to be a integer variable. Again the declaration of integer variable x1 inside the function braces would give an error as Redeclaration of variable x.