C Programming - Const - Discussion

Discussion Forum : Const - Point Out Errors (Q.No. 3)
3.
Point out the error in the program.
#include<stdio.h>
#include<stdlib.h>

union employee
{
    char name[15];
    int age;
    float salary;
};
const union employee e1;

int main()
{
    strcpy(e1.name, "K");
    printf("%s", e1.name);    
    e1.age=85;
    printf("%d", e1.age);
    printf("%f", e1.salary);
    return 0;
}
Error: RValue required
Error: cannot modify const object
Error: LValue required in strcpy
No error
Answer: Option
Explanation:
No answer description is available. Let's discuss.
Discussion:
11 comments Page 2 of 2.

Ahmed hashem said:   2 years ago
I think in this case e1.name is initialized by garbage values, e1.age/salary initialized by 0.

So, we can not modify any one of them, but by using strcpy function we can modify e1.name indirectly by using a pointer and this is valid.

strcpy function :
char* strcpy(char* destination, const char* source);


Post your comments here:

Your comments will be displayed after verification.