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;
}
Garbage value
0 (Zero)
1990
No output
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.

KinG said:   1 decade ago
In C, _AX Denotes the Accumulator Where the result of Airthmatic & Logical Operation is stored.

Harish Mahajan said:   7 years ago
What is the difference between return 0, return 1?

What is void main(), int main(), main()?

Gulshan Kumar said:   8 years ago
In this program, fun has no any return type so according to me, it returns garbage value.

Neeraj said:   10 years ago
How can a function be called in main without mentioning its prototype before the main()?

Prerna said:   8 years ago
In the function, fun we didnot write return ax so how will the value be passed in main?

Manish kulkarni said:   8 years ago
As there is no return statement then how it will return value to calling the function?

Harish Mahajan said:   7 years ago
If the compiler is GCC Linux then what will be the output?

Please, anyone, tell me.

Amit said:   1 decade ago
Accumulator is a place where the results are stored after calculation.

Jit said:   8 years ago
The answer is wrong. [Error] '_AX' was not declared in this scope.

Rathika.B said:   1 decade ago
What is _AX, same type of similar models & their explanations?


Post your comments here:

Your comments will be displayed after verification.