Home / C Programming / Const :: Discussion

Discussion :: Const

  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: cannot convert ptr const value

    B.

    Error: unknown pointer conversion

    C.

    No error

    D.

    None of above

    View Answer

    Workspace

    Answer : Option A

    Explanation :

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

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

    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 a constant; it will be an error to modify the pointed character; There will not be any error to modify the pointer itself.

    Step 4: *ptr = 'a'; Here, we are changing the value of ptr, this will result in the error "cannot modify a const object".


Be The First To Comment