Home » C Programming » Complicated Declarations

What will be the output of the program in DOS (Compiler - Turbo C)? #include double i; int main() { (int)(float)(char) i; printf("%d", sizeof((int)(float)(char)i)); return 0; }

Correct Answer: 2

Explanation:

Due to the C language is being platform dependent:
In Turbo C (DOS - 16 bit platform), the output will be 2.
But in GCC (Unix/Linux - 32 bit platform), the output will be 4.

← Previous Question Next Question→

Discussion & Comments

No comments yet. Be the first to comment!
Join Discussion