CAN WE DEFINE ANY FUNCTION WITHIN A FUNCTION.
Answers were Sorted based on User's Feedback
Answer / vignesh1988i
no we cant define a function within a function.... but calling of function within a function is possible........
thank u
| Is This Answer Correct ? | 66 Yes | 10 No |
Answer / prof.gagandeep jagdev
No, it is not possible to define any function within a
function. However we can call a function from within
another function.
| Is This Answer Correct ? | 30 Yes | 4 No |
Answer / aparna
no....we cant define a function with in another
fn......Insteadwe can declare a function..
ex:
void main()
{
int fun(int); // this is declaration
fun(3); // this is fn. calling
}
int fun(int a) //this is fn.definition
{
}
| Is This Answer Correct ? | 22 Yes | 2 No |
Answer / shailender
We can do nesting of functions. I tried in GCC.
check this keyword auto does the magic.
int main()
{
func1();
}
func1()
{
int i = 0;
auto func2()
{
i = 10;
printf("Heloo i am func 2\n");
}
printf("Heloo i am func 1\n");
}
However it seems to me that there is no use of doing this
if you want to call func2 you can't do it from out side func1.
| Is This Answer Correct ? | 12 Yes | 2 No |
Answer / chandan patel
absolutely no......
u can't do this....u can only declared and call a function
inside a function....
i m appealing to those people who r saying 'yes' that please
don't misguide other....if u don't know correct stuff.
| Is This Answer Correct ? | 10 Yes | 3 No |
Answer / blaaze
hey guys pls dont misguide......
the correct ans is "no" , we cant define a function within another.
| Is This Answer Correct ? | 8 Yes | 2 No |
Answer / vinod kumari
No, we can not define a function within another function.
we can only declare and call any function in any other
function.
| Is This Answer Correct ? | 8 Yes | 2 No |
Answer / nimish salve
yes it is possible to define a function inside function.but only in optimized compiler like GCC,DEV C and not in turbo c,visual c++.
try this code
#include<stdio.h>
void fun1(void)//function definition 1
{
printf("Inside fun1\n");
void fun2(void)//function definition for 2nd function
{
printf("Inside fun2\n");
}
fun2();//function call
}
int main()
{
printf("Inside Main\n");
fun1();//function call
return 0;
}
try in both GCC and TurboC and get your answer
| Is This Answer Correct ? | 3 Yes | 0 No |
Answer / shiva
No.
in g++ you will be clearly notified that you can't define a
function inside another function
but gcc somehow allows following
#include <stdio.h>
int func2(int (*f)()){
(*f)();
return 0;
}
int main ()
{
int func1 ()
{
printf ("\n Inside func 1 ");
return 0;
}
printf("someting");
func1 (); //you can access this fuction inside
main(the function in which you declared func1) with the name
func1
func2(func1); // to access this function outside use
fucntion pointer as a argument
return 0;
}
o/p:
something
Inside func 1
Inside func 1
| Is This Answer Correct ? | 1 Yes | 0 No |
Answer / shivang
No we cannot define any function within any function.Even
though i read it in book by yeshwant kanetkar,i also tested
it, my program generated an error while doing so.
| Is This Answer Correct ? | 2 Yes | 1 No |
int main() { int x = (2,3,4); int y = 9,10,11; printf("%d %d",x,y); } what would be the output?
Design a program using an array that lists even numbers and odd numbers separately from the 12 numbers supplied by a user.
Explain what happens if you free a pointer twice?
What is the difference between fread and fwrite function?
What does the characters “r” and “w” mean when writing programs that will make use of files?
What is a buffer in c?
what is a pointer
4 Answers Bank Of America, TCS,
What is the difference between arrays and pointers?
Where static variables are stored in c?
int i=3; this declaration tells the C compiler to a) reserve space in memory to hold the integer value b) associate the name i with this memory location c) store the value 3 at this location d) all the above
How do I round numbers?
Is anything faster than c?