logo

CuriousTab

CuriousTab

Discussion


Home C Programming Arrays See What Others Are Saying!
  • Question
  • What will be the output of the program?
    #include<stdio.h>
    
    int main()
    {
        int a[5] = {5, 1, 15, 20, 25};
        int i, j, m;
        i = ++a[1];
        j = a[1]++;
        m = a[i++];
        printf("%d, %d, %d", i, j, m);
        return 0;
    }
    


  • Options
  • A. 2, 1, 15
  • B. 1, 2, 5
  • C. 3, 2, 15
  • D. 2, 3, 20

  • Correct Answer
  • 3, 2, 15 

    Explanation
    Step 1: int a[5] = {5, 1, 15, 20, 25}; The variable arr is declared as an integer array with a size of 5 and it is initialized to

    a[0] = 5, a[1] = 1, a[2] = 15, a[3] = 20, a[4] = 25 .

    Step 2: int i, j, m; The variable i,j,m are declared as an integer type.

    Step 3: i = ++a[1]; becomes i = ++1; Hence i = 2 and a[1] = 2

    Step 4: j = a[1]++; becomes j = 2++; Hence j = 2 and a[1] = 3.

    Step 5: m = a[i++]; becomes m = a[2]; Hence m = 15 and i is incremented by 1(i++ means 2++ so i=3)

    Step 6: printf("%d, %d, %d", i, j, m); It prints the value of the variables i, j, m

    Hence the output of the program is 3, 2, 15


    More questions

    • 1. It is not possible to create an array of pointer to structures.

    • Options
    • A. True
    • B. False
    • Discuss
    • 2. 
      1 : typedef long a;
      extern int a c;
      2 : typedef long a;
      extern a int c;
      3 : typedef long a;
      extern a c;

    • Options
    • A. 1 correct
    • B. 2 correct
    • C. 3 correct
    • D. 1, 2, 3 are correct
    • Discuss
    • 3. Which of the declaration is correct?

    • Options
    • A. int length;
    • B. char int;
    • C. int long;
    • D. float double;
    • Discuss
    • 4. What will be the output of the program?
      #include<stdio.h>
      int main()
      {
          int i=2;
          int j = i + (1, 2, 3, 4, 5);
          printf("%d\n", j);
          return 0;
      }
      

    • Options
    • A. 4
    • B. 7
    • C. 6
    • D. 5
    • Discuss
    • 5. What will be the output of the program?
      #include<stdio.h>
      int main()
      {
          int i=-3, j=2, k=0, m;
          m = ++i && ++j && ++k;
          printf("%d, %d, %d, %d\n", i, j, k, m);
          return 0;
      }
      

    • Options
    • A. -2, 3, 1, 1
    • B. 2, 3, 1, 2
    • C. 1, 2, 3, 1
    • D. 3, 3, 1, 2
    • Discuss
    • 6. 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
    • Discuss
    • 7. What will be the output of the program?
      #include<stdio.h>
      #include<string.h>
      
      int main()
      {
          int i, n;
          char *x="Alice";
          n = strlen(x);
          *x = x[n];
          for(i=0; i<=n; i++)
          {
              printf("%s ", x);
              x++;
          }
          printf("\n", x);
          return 0;
      }
      

    • Options
    • A. Alice
    • B. ecilA
    • C. Alice lice ice ce e
    • D. lice ice ce e
    • Discuss
    • 8. Which of the following sentences are correct about a for loop in a C program?

      1: for loop works faster than a while loop.
      2: All things that can be done using a for loop can also be done using a while loop.
      3: for(;;); implements an infinite loop.
      4: for loop can be used if we want statements in a loop get executed at least once.

    • Options
    • A. 1
    • B. 1, 2
    • C. 2, 3
    • D. 2, 3, 4
    • Discuss
    • 9. What will be the output of the program?
      #include<stdio.h>
      #define PRINT(int) printf("int=%d, ", int);
      
      int main()
      {
          int x=2, y=3, z=4;   
          PRINT(x);
          PRINT(y);
          PRINT(z);
          return 0;
      }
      

    • Options
    • A. int=2, int=3, int=4
    • B. int=2, int=2, int=2
    • C. int=3, int=3, int=3
    • D. int=4, int=4, int=4
    • Discuss
    • 10. What will be the output of the program?
      #include<stdio.h>
      int main()
      {
          int x, y, z;
          x=y=z=1;
          z = ++x || ++y && ++z;
          printf("x=%d, y=%d, z=%d\n", x, y, z);
          return 0;
      }
      

    • Options
    • A. x=2, y=1, z=1
    • B. x=2, y=2, z=1
    • C. x=2, y=2, z=2
    • D. x=1, y=2, z=1
    • Discuss


    Comments

    There are no comments.

Enter a new Comment