C Programming - Functions - Discussion
Discussion Forum : Functions - True / False Questions (Q.No. 1)
1.
A function cannot be defined inside another function
Answer: Option
Explanation:
A function cannot be defined inside the another function, but a function can be called inside a another function.
Discussion:
12 comments Page 1 of 2.
Kunj said:
4 years ago
{
int sum(int,int) ;//function declaration
int a=5,b=6,c;
c=sum(a,b); //calling and assigned to c
printf("%d", c) ;
return 0;
}
int sum(int a, int b) //function definition
{
return (a+b) ;
}
Am I right?
int sum(int,int) ;//function declaration
int a=5,b=6,c;
c=sum(a,b); //calling and assigned to c
printf("%d", c) ;
return 0;
}
int sum(int a, int b) //function definition
{
return (a+b) ;
}
Am I right?
Satakshi said:
5 years ago
int main()
{
int fun();
int i;
i = fun();
printf("%d\n", i);
return 0;
}
int fun()
{
_AX = 1990;
}
fun() is declared inside main(). Can this be done?
{
int fun();
int i;
i = fun();
printf("%d\n", i);
return 0;
}
int fun()
{
_AX = 1990;
}
fun() is declared inside main(). Can this be done?
Hithu said:
6 years ago
How can we declare a function inside a function?
Himanshu Gupta said:
7 years ago
We can define the function within another function:
A short code snippet proves that.
#include<stdio.h>
main()
{
int fun()
{
printf("In side Fun sunction ...\n");
}
fun();
}
A short code snippet proves that.
#include<stdio.h>
main()
{
int fun()
{
printf("In side Fun sunction ...\n");
}
fun();
}
Zilanee said:
8 years ago
What about main()?
Mamatha said:
1 decade ago
Yes we can declare function inside another function.
BDP said:
1 decade ago
Is function declare inside a function ?
Kiran said:
1 decade ago
In GCC compiler, you can define a function inside a function definition. you can try this.
Sundar said:
1 decade ago
In typical C language a function cannot be defined inside an another function.
But, in some modern compilers (GCC in Linux) it is possible, lets see an example.
#include <stdio.h>
int main()
{
int add(int a, int b)
{return a+b;}
printf("Sum = %d", add(4,2) );
return 0;
}
//output: Sum = 6
But, in some modern compilers (GCC in Linux) it is possible, lets see an example.
#include <stdio.h>
int main()
{
int add(int a, int b)
{return a+b;}
printf("Sum = %d", add(4,2) );
return 0;
}
//output: Sum = 6
Pelle said:
1 decade ago
Can you explain this?
The usage of functions inside functions works fine with my gcc compiler..
#include <stdio.h>
int main() {
int printFuzzAndOrBuzz(int i) {
int divisable = 0;
if (i % 3 == 0) {
// Divisable by 3, print Fizz
printf("Fizz");
divisable = 1;
}
if (i % 5 == 0) {
// Divisable by 5 (and/or 3)
printf("Buzz");
divisable = 1;
}
return divisable;
}
int N = 30;
int i = 0;
int divisable = 0;
for (i = 0; i<N; i++) {
divisable = printFuzzAndOrBuzz(i);
if (!divisable) {
// Not divisable at all
printf("%d", i);
}
// End of line
printf("\n");
}
}
The usage of functions inside functions works fine with my gcc compiler..
#include <stdio.h>
int main() {
int printFuzzAndOrBuzz(int i) {
int divisable = 0;
if (i % 3 == 0) {
// Divisable by 3, print Fizz
printf("Fizz");
divisable = 1;
}
if (i % 5 == 0) {
// Divisable by 5 (and/or 3)
printf("Buzz");
divisable = 1;
}
return divisable;
}
int N = 30;
int i = 0;
int divisable = 0;
for (i = 0; i<N; i++) {
divisable = printFuzzAndOrBuzz(i);
if (!divisable) {
// Not divisable at all
printf("%d", i);
}
// End of line
printf("\n");
}
}
Post your comments here:
Quick links
Quantitative Aptitude
Verbal (English)
Reasoning
Programming
Interview
Placement Papers