Home / C Programming / Variable Number of Arguments :: Discussion

Discussion :: Variable Number of Arguments

  1. Point out the error in the program.

    #include 
    #define MAX 128 
     int main() 
     {   
         char mybuf[] = "Fresher";  
         char yourbuf[] = "GATE";    
         char *const ptr = mybuf;     
         *ptr = 'a';  
         ptr = yourbuf;  
        return 0; 
    } 
    
    

  2. A.

    Error: unknown pointer conversion

    B.

    Error: cannot convert ptr const value

    C.

    No error

    D.

    None of above

    View Answer

    Workspace

    Answer : Option B

    Explanation :

    Step 1: char mybuf[] = "Fresher"; The variable mybuff is declared as an array of characters and initialized with string "Fresher".

    Step 2: char yourbuf[] = "GATE"; The variable yourbuf is declared as an array of characters and initialized with string "GATE".

    Step 3: char *const ptr = mybuf; Here, ptr is a constant pointer, which points at a char.

    The value at which ptr it points is not a constant; it will not be an error to modify the pointed character; There will be an error only to modify the pointer itself.

    Step 4: *ptr = 'a'; The value of ptr is assigned to 'a'.

    Step 5: ptr = yourbuf; Here, we are changing the pointer itself, this will result in the error "cannot modify a const object".

     

     


Be The First To Comment