logo

CuriousTab

CuriousTab

Discussion


Home C Programming Functions See What Others Are Saying!
  • Question
  • What will be the output of the program?
    #include<stdio.h>
    int i;
    int fun1(int);
    int fun2(int);
    
    int main()
    {
        extern int j;
        int i=3;
        fun1(i);
        printf("%d,", i);
        fun2(i);
        printf("%d", i);
        return 0;
    }
    int fun1(int j)
    {
        printf("%d,", ++j);
        return 0;
    }
    int fun2(int i)
    {
        printf("%d,", ++i);
        return 0;
    }
    int j=1;
    


  • Options
  • A. 3, 4, 4, 3
  • B. 4, 3, 4, 3
  • C. 3, 3, 4, 4
  • D. 3, 4, 3, 4

  • Correct Answer
  • 4, 3, 4, 3 

    Explanation
    Step 1: int i; The variable i is declared as an global and integer type.

    Step 2: int fun1(int); This prototype tells the compiler that the fun1() accepts the one integer parameter and returns the integer value.

    Step 3: int fun2(int); This prototype tells the compiler that the fun2() accepts the one integer parameter and returns the integer value.

    Step 4: extern int j; Inside the main function, the extern variable j is declared and defined in another source file.

    Step 5: int i=3; The local variable i is defines as an integer type and initialized to 3.

    Step 6: fun1(i); The fun1(i) increements the given value of variable i prints it. Here fun1(i) becomes fun1(3) hence it prints '4' then the control is given back to the main function.

    Step 7: printf("%d,", i); It prints the value of local variable i. So, it prints '3'.

    Step 8: fun2(i); The fun2(i) increements the given value of variable i prints it. Here fun2(i) becomes fun2(3) hence it prints '4' then the control is given back to the main function.

    Step 9: printf("%d,", i); It prints the value of local variable i. So, it prints '3'.

    Hence the output is "4 3 4 3".


    More questions

    • 1. 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
    • 2. What will be the output of the program in TurboC?
      #include<stdio.h>
      int fun(int **ptr);
      
      int main()
      {
          int i=10, j=20;
          const int *ptr = &i;
          printf(" i = %5X", ptr);
          printf(" ptr = %d", *ptr);
          ptr = &j;
          printf(" j = %5X", ptr);
          printf(" ptr = %d", *ptr);
          return 0;
      }
      

    • Options
    • A. i= FFE2 ptr=12 j=FFE4 ptr=24
    • B. i= FFE4 ptr=10 j=FFE2 ptr=20
    • C. i= FFE0 ptr=20 j=FFE1 ptr=30
    • D. Garbage value
    • Discuss
    • 3. What will be the output of the program?
      #include<stdio.h>
      
      int main()
      {
          const int i=0;
          printf("%d\n", i++);
          return 0;
      }
      

    • Options
    • A. 10
    • B. 11
    • C. No output
    • D. Error: ++needs a value
    • 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. 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
    • 6. 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
    • Discuss
    • 7. What will be the output of the program?
      #include<stdio.h>
      
      int main()
      {
          const char *s = "";
          char str[] = "Hello";
          s = str;
          while(*s)
              printf("%c", *s++);
      
          return 0;
      }
      

    • Options
    • A. Error
    • B. H
    • C. Hello
    • D. Hel
    • Discuss
    • 8. What will be the output of the program?
      #include<stdio.h>
      int get();
      
      int main()
      {
          const int x = get();
          printf("%d", x);
          return 0;
      }
      int get()
      {
          return 20;
      }
      

    • Options
    • A. Garbage value
    • B. Error
    • C. 20
    • D. 0
    • Discuss
    • 9. What will be the output of the program?
      #include<stdio.h>
      
      int main()
      {
          const c = -11;
          const int d = 34;
          printf("%d, %d\n", c, d);
          return 0;
      }
      

    • Options
    • A. Error
    • B. -11, 34
    • C. 11, 34
    • D. None of these
    • Discuss
    • 10. What will be the output of the program?
      #include<stdio.h>
      int main()
      {
          int i = 1;
          switch(i)
          {
              printf("Hello\n");
              case 1:
                  printf("Hi\n");
                  break;
              case 2:
                  printf("\nBye\n");
                  break;
          }
          return 0;
      }
      

    • Options
    • A. Hello
      Hi
    • B. Hello
      Bye
    • C. Hi
    • D. Bye
    • Discuss


    Comments

    There are no comments.

Enter a new Comment