Home / C Programming / Strings :: Discussion

Discussion :: Strings

  1. What will be the output of the program in 16-bit platform (Turbo C under DOS) ?

    #include 
    
     int main() 
     {  
       printf("%d, %d, %d", sizeof(3.0f), sizeof('3'), sizeof(3.0));   
       return 0;
     } 
    

  2. A.

    8, 1, 4

    B.

    4, 2, 8

    C.

    4, 2, 4

    D.

    10, 3, 4

    View Answer

    Workspace

    Answer : Option B

    Explanation :

    Step 1:

    printf("%d, %d, %d", sizeof(3.0f), sizeof('3'), sizeof(3.0));

    The sizeof function returns the size of the given expression.

    sizeof(3.0f) is a floating point constant. The size of float is 4 bytes

    sizeof('3') It converts '3' in to ASCII value.. The size of int is 2 bytes

    sizeof(3.0) is a double constant. The size of double is 8 bytes

    Hence the output of the program is 4,2,8

    Note: The above program may produce different output in other platform due to the platform dependency of C compiler.

    In Turbo C, 4 2 8. But in GCC, the output will be 4 4 8.


Be The First To Comment