logo

CuriousTab

CuriousTab

Discussion


Home C Programming Structures, Unions, Enums Comments

  • Question
  • Point out the error in the program?
    #include<stdio.h>
    
    int main()
    {
        struct emp
        {
            char name[25];
            int age;
            float bs;
        };
        struct emp e;
        e.name = "Suresh";
        e.age = 25;
        printf("%s %d\n", e.name, e.age);
        return 0;
    }
    


  • Options
  • A. Error: Lvalue required/incompatible types in assignment
  • B. Error: invalid constant expression
  • C. Error: Rvalue required
  • D. No error, Output: Suresh 25

  • Correct Answer
  • Error: Lvalue required/incompatible types in assignment 

    Explanation
    We cannot assign a string to a struct variable like e.name = "Suresh"; in C.

    We have to use strcpy(char *dest, const char *source) function to assign a string.

    Ex: strcpy(e.name, "Suresh");


    Structures, Unions, Enums problems


    Search Results


    • 1. Point out the error in the program?
      #include<stdio.h>
      
      int main()
      {
          struct emp
          {
              char n[20];
              int age;
          };
          struct emp e1 = {"Dravid", 23};
          struct emp e2 = e1;
          if(e1 == e2)
              printf("The structure are equal");
          return 0;
      }
      

    • Options
    • A. Prints: The structure are equal
    • B. Error: Structure cannot be compared using '=='
    • C. No output
    • D. None of above
    • Discuss
    • 2. Point out the error in the program?
      #include<stdio.h>
      
      int main()
      {
          struct emp
          {
              char name[20];
              float sal;
          };
          struct emp e[10];
          int i;
          for(i=0; i<=9; i++)
              scanf("%s %f", e[i].name, &e[i].sal);
          return 0;
      }
      

    • Options
    • A. Error: invalid structure member
    • B. Error: Floating point formats not linked
    • C. No error
    • D. None of above
    • Discuss
    • 3. Point out the error in the program?
      #include<stdio.h>
      
      int main()
      {
          struct bits
          {
              float f:2;
          }bit;
      
          printf("%d\n", sizeof(bit));
          return 0;
      }
      

    • Options
    • A. 4
    • B. 2
    • C. Error: cannot set bit field for float
    • D. Error: Invalid member access in structure
    • Discuss
    • 4. Point out the error in the program?
      #include<stdio.h>
      
      int main()
      {
          union a
          {
              int i;
              char ch[2];
          };
          union a z1 = {512};
          union a z2 = {0, 2};
          return 0;
      }
      

    • Options
    • A. Error: invalid union declaration
    • B. Error: in Initializing z2
    • C. No error
    • D. None of above
    • Discuss
    • 5. Point out the error in the program?
      struct emp
      {
          int ecode;
          struct emp e;
      };
      

    • Options
    • A. Error: in structure declaration
    • B. Linker Error
    • C. No Error
    • D. None of above
    • Discuss
    • 6. Point out the error in the program?
      struct emp
      {
          int ecode;
          struct emp *e;
      };
      

    • Options
    • A. Error: in structure declaration
    • B. Linker Error
    • C. No Error
    • D. None of above
    • Discuss
    • 7. Point out the error in the program?
      #include<stdio.h>
      
      int main()
      {
          struct a
          {
              float category:5;
              char scheme:4;
          };
          printf("size=%d", sizeof(struct a));
          return 0;
      }
      

    • Options
    • A. Error: invalid structure member in printf
    • B. Error in this float category:5; statement
    • C. No error
    • D. None of above
    • Discuss
    • 8. Point out the error in the program?
      #include<stdio.h>
      #include<string.h>
      void modify(struct emp*);
      struct emp
      {
          char name[20];
          int age;
      };
      int main()
      {
          struct emp e = {"Sanjay", 35};
          modify(&e);
          printf("%s %d", e.name, e.age);
          return 0;
      }
      void modify(struct emp *p)
      {
           p ->age=p->age+2;
      }
      

    • Options
    • A. Error: in structure
    • B. Error: in prototype declaration unknown struct emp
    • C. No error
    • D. None of above
    • Discuss
    • 9. Point out the error in the program in 16-bit platform?
      #include<stdio.h>
      
      int main()
      {
          struct bits
          {
              int i:40;
          }bit;
      
          printf("%d\n", sizeof(bit));
          return 0;
      }
      

    • Options
    • A. 4
    • B. 2
    • C. Error: Bit field too large
    • D. Error: Invalid member access in structure
    • Discuss
    • 10. Nested unions are allowed

    • Options
    • A. True
    • B. False
    • Discuss


    Comments

    There are no comments.

Enter a new Comment