logo

CuriousTab

CuriousTab

Discussion


Home C Programming Constants Comments

  • Question
  • Point out the error in the program.
    #include<stdio.h>
    #define MAX 128
    
    int main()
    {
        char mybuf[] = "India";
        char yourbuf[] = "CURIOUSTAB";
        char const *ptr = mybuf;
        *ptr = 'a';
        ptr = yourbuf;
        return 0;
    }
    


  • Options
  • A. Error: cannot convert ptr const value
  • B. Error: unknown pointer conversion
  • C. No error
  • D. None of above

  • Correct Answer
  • Error: cannot convert ptr const value 

    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[] = "CURIOUSTAB"; The variable yourbuf is declared as an array of characters and initialized with string "CURIOUSTAB".

    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".


    Constants problems


    Search Results


    • 1. Point out the error in the program.
      #include<stdio.h>
      const char *fun();
      
      int main()
      {
          *fun() = 'A';
          return 0;
      }
      const char *fun()
      {
          return "Hello";
      }
      

    • Options
    • A. Error: RValue required
    • B. Error: Lvalue required
    • C. Error: fun() returns a pointer const character which cannot be modified
    • D. No error
    • Discuss
    • 2. Point out the error in the program (in Turbo-C).
      #include<stdio.h>
      #define MAX 128
      
      int main()
      {
          const int max=128;
          char array[max];
          char string[MAX];
          array[0] = string[0] = 'A';
          printf("%c %c\n", array[0], string[0]);
          return 0;
      }
      

    • Options
    • A. Error: unknown max in declaration/Constant expression required
    • B. Error: invalid array string
    • C. None of above
    • D. No error. It prints A A
    • Discuss
    • 3. Point out the error in the program.
      #include<stdio.h>
      const char *fun();
      
      int main()
      {
          char *ptr = fun();
          return 0;
      }
      const char *fun()
      {
          return "Hello";
      }
      

    • Options
    • A. Error: Lvalue required
    • B. Error: cannot convert 'const char *' to 'char *'.
    • C. No error and No output
    • D. None of above
    • Discuss
    • 4. 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;
      }
      

    • Options
    • A. Error: RValue required
    • B. Error: cannot modify const object
    • C. Error: LValue required in strcpy
    • D. No error
    • Discuss
    • 5. Bitwise | can be used to set a bit in number.

    • Options
    • A. Yes
    • B. No
    • Discuss
    • 6. Point out the error in the program.
      #include<stdio.h>
      
      int main()
      {
          const int x;
          x=128;
          printf("%d\n", x);
          return 0;
      }
      

    • Options
    • A. Error: unknown data type const int
    • B. Error: const variable have been initialised when declared.
    • C. Error: stack overflow in x
    • D. No error
    • Discuss
    • 7. Point out the error in the program.
      #include<stdio.h>
      
      int main()
      {
          const int k=7;
          int *const q=&k;
          printf("%d", *q);
          return 0;
      }
      

    • Options
    • A. Error: RValue required
    • B. Error: Lvalue required
    • C. Error: cannot convert from 'const int *' to 'int *const'
    • D. No error
    • Discuss
    • 8. Point out the error in the program.
      #include<stdio.h>
      #define MAX 128
      
      int main()
      {
          char mybuf[] = "India";
          char yourbuf[] = "CURIOUSTAB";
          char *const ptr = mybuf;
          *ptr = 'a';
          ptr = yourbuf;
          return 0;
      }
      

    • Options
    • A. Error: unknown pointer conversion
    • B. Error: cannot convert ptr const value
    • C. No error
    • D. None of above
    • Discuss
    • 9. Point out the error in the following program.
      #include<stdio.h>
      #include<stdarg.h>
      fun(...);
      
      int main()
      {
          fun(3, 7, -11.2, 0.66);
          return 0;
      }
      fun(...)
      {
          va_list ptr;
          int num;
          va_start(ptr, n);
          num = va_arg(ptr, int);
          printf("%d", num);
      }
      

    • Options
    • A. Error: fun() needs return type
    • B. Error: ptr Lvalue required
    • C. Error: Invalid declaration of fun(...)
    • D. No error
    • Discuss
    • 10. Point out the error in the following program.
      #include<stdio.h>
      #include<stdarg.h>
      
      int main()
      {
          void display(int num, ...);
          display(4, 12.5, 13.5, 14.5, 44.3);
          return 0;
      }
      void display(int num, ...)
      {
          float c; int j;
          va_list ptr;
          va_start(ptr, num);
          for(j=1; j<=num; j++)
          {
              c = va_arg(ptr, float);
              printf("%f", c);
          }
      }
      

    • Options
    • A. Error: invalid va_list declaration
    • B. Error: var c data type mismatch
    • C. No error
    • D. No error and Nothing will print
    • Discuss


    Comments

    There are no comments.

Enter a new Comment