Today i am going to dicuss about a misconception about function in the minds of beginners....
The common misconcption is to assume that the function of following prototype does not take any argument...
void check();
which is totally wrong ,instead the above prototype states that the function check can take any number of arguments....
-->Using the keyword void withing the braces is the correct way to tell the compiler that the function takes NO arguments.....
void check(void);
The common misconcption is to assume that the function of following prototype does not take any argument...
void check();
which is totally wrong ,instead the above prototype states that the function check can take any number of arguments....
-->Using the keyword void withing the braces is the correct way to tell the compiler that the function takes NO arguments.....
void check(void);
lets take an example.....
#include<stdio.h>
#include<conio.h>
void check();
void main()
{
check();
}
void check(int a,int b)
{
printf("We are on the right way now");
printf("a=%d,b=%d",a,b);
}
The above program will compile for sure,and the output will be.
output:
We are on the right way now
a=garbage,b=garbage
Now we can see this is compiling and running because we have declared function check to take any number of arguments.....
if we call check by saying check(10,20); the output will be:
We are on the right way now
a=10,b=20
And we can call check by saying check(10,20,30,40,50,60,70) that is with any number of arguments...
Now change the prototype with void check(void);...now you can't use the above stuff.......
No comments:
Post a Comment
Feel free to comment......