C Programming - Functions - Discussion
Discussion Forum : Functions - Find Output of Program (Q.No. 1)
1.
What will be the output of the program in 16 bit platform (Turbo C under DOS)?
#include<stdio.h>
int main()
{
int fun();
int i;
i = fun();
printf("%d\n", i);
return 0;
}
int fun()
{
_AX = 1990;
}
Answer: Option
Explanation:
Turbo C (Windows): The return value of the function is taken from the Accumulator _AX=1990.
But it may not work as expected in GCC compiler (Linux).
Discussion:
43 comments Page 3 of 5.
Moon said:
1 decade ago
Why this is not working? if we use any kind of variable assume 'p' instead of _AX then also the result is 0. Why it is? please give an explanation of this program.
Shilpa said:
1 decade ago
What will be the result in LINUX?
Lingaraj said:
1 decade ago
@Shilpa.
In Linux the output will be zero.
In Linux the output will be zero.
Richik said:
1 decade ago
In function 'fun':
Line 13: error: '_AX' undeclared (first use in this function).
Line 13: error: Each undeclared identifier is reported only once.
Line 13: error: For each function it appears in.
Encountering these errors, on copying the given code. How did you guys get the answer as 1990?
Line 13: error: '_AX' undeclared (first use in this function).
Line 13: error: Each undeclared identifier is reported only once.
Line 13: error: For each function it appears in.
Encountering these errors, on copying the given code. How did you guys get the answer as 1990?
Neeraj said:
10 years ago
How can a function be called in main without mentioning its prototype before the main()?
Thamizharasi said:
10 years ago
Actually it shows an error because the function is defined outside the main function. To show an output the function will be declared before main function.
Raju said:
9 years ago
'_AX' is undeclared so it should not give any output.
Sanju said:
9 years ago
First of all, in the function definition, there is no return statement. So error1===no return statement.
_AX is not declared. So error2=='_AX' undeclared (first use in this function).
How will it give output?
Can anyone help me?
_AX is not declared. So error2=='_AX' undeclared (first use in this function).
How will it give output?
Can anyone help me?
Ahmedhalim said:
9 years ago
This code will print garbage value because it isn't has return.
SyntaxError said:
9 years ago
In the above given program, there is no return type in called fn. Then how it return the value to calling function?
And why this c compiler showing an error?
And why this c compiler showing an error?
Post your comments here:
Quick links
Quantitative Aptitude
Verbal (English)
Reasoning
Programming
Interview
Placement Papers