Home / C Programming / Declarations and Initializations :: Discussion

Discussion :: Declarations and Initializations

  1. Point out the error in the following program (if it is compiled with Turbo C compiler).

    #include 
    int main() 
    {    
       display(); 
       return 0; 
    } 
    void display() 
    
    {    
       printf("Freshergate.com");
     
    } 
    

  2. A.

    No error

    B.

    display() doesn't get invoked

    C.

    display() is called before it is defined

    D.

    None of these

    View Answer

    Workspace

    Answer : Option C

    Explanation :

    In this program the compiler will not know that the function display() exists. So, the compiler will generate "Type mismatch in redeclaration of function display()".

    To over come this error, we have to add function prototype of function display().
    Another way to overcome this error is to define the function display() before the int main(); function.

     #include
      void display(); /* function prototype */  
    int main() 
    {     
    display();     
    return 0;
     }
     void display() 
    {
         printf("Freshergate.com");
     } 

    Output: Freshergate.com

    Note: This problem will not occur in modern compilers (this problem occurs in TurboC but not in GCC).

     


Be The First To Comment