logo

CuriousTab

CuriousTab

Discussion


Home C Programming Constants Comments

  • Question
  • What will be the output of the program (in Turbo C)?
    #include<stdio.h>
    
    int fun(int *f)
    {
        *f = 10;
        return 0;
    }
    int main()
    {
        const int arr[5] = {1, 2, 3, 4, 5};
        printf("Before modification arr[3] = %d", arr[3]);
        fun(&arr[3]);
        printf("\nAfter modification arr[3] = %d", arr[3]);
        return 0;
    }
    


  • Options
  • A. Before modification arr[3] = 4
    After modification arr[3] = 10
  • B. Error: cannot convert parameter 1 from const int * to int *
  • C. Error: Invalid parameter
  • D. Before modification arr[3] = 4
    After modification arr[3] = 4

  • Correct Answer
  • Before modification arr[3] = 4
    After modification arr[3] = 10 

    Explanation
    Step 1: const int arr[5] = {1, 2, 3, 4, 5}; The constant variable arr is declared as an integer array and initialized to

    arr[0] = 1, arr[1] = 2, arr[2] = 3, arr[3] = 4, arr[4] = 5

    Step 2: printf("Before modification arr[3] = %d", arr[3]); It prints the value of arr[3] (ie. 4).

    Step 3: fun(&arr[3]); The memory location of the arr[3] is passed to fun() and arr[3] value is modified to 10.

    A const variable can be indirectly modified by a pointer.

    Step 4: printf("After modification arr[3] = %d", arr[3]); It prints the value of arr[3] (ie. 10).

    Hence the output of the program is

    Before modification arr[3] = 4

    After modification arr[3] = 10


    Constants problems


    Search Results


    • 1. What will be the output of the program?
      #include<stdio.h>
      int fun(int **ptr);
      
      int main()
      {
          int i=10;
          const int *ptr = &i;
          fun(&ptr);
          return 0;
      }
      int fun(int **ptr)
      {
          int j = 223;
          int *temp = &j;
          printf("Before changing ptr = %5x\n", *ptr);
          const *ptr = temp;
          printf("After changing ptr = %5x\n", *ptr);
          return 0;
      }
      

    • Options
    • A. Address of i
      Address of j
    • B. 10
      223
    • C. Error: cannot convert parameter 1 from 'const int **' to 'int **'
    • D. Garbage value
    • Discuss
    • 2. Which of the following operations can be performed on the file "NOTES.TXT" using the below code?
      FILE *fp;
      fp = fopen("NOTES.TXT", "r+");
      

    • Options
    • A. Reading
    • B. Writing
    • C. Appending
    • D. Read and Write
    • Discuss
    • 3. On executing the below program what will be the contents of 'target.txt' file if the source file contains a line "To err is human"?
      #include<stdio.h>
      
      int main()
      {
          int i, fss;
          char ch, source[20] = "source.txt", target[20]="target.txt", t;
          FILE *fs, *ft;
          fs = fopen(source, "r");
          ft = fopen(target, "w");
          while(1)
          {
              ch=getc(fs);
              if(ch==EOF)
                  break;
              else
              {
                  fseek(fs, 4L, SEEK_CUR);
                  fputc(ch, ft);
              }
          }
          return 0;
      }
      

    • Options
    • A. r n
    • B. Trh
    • C. err
    • D. None of above
    • Discuss
    • 4. What does fp point to in the program?
      #include<stdio.h>
      
      int main()
      {
          FILE *fp;
          fp=fopen("trial", "r");
          return 0;
      }
      

    • Options
    • A. The first character in the file
    • B. A structure which contains a char pointer which points to the first character of a file.
    • C. The name of the file.
    • D. The last character in the file.
    • Discuss
    • 5. Consider the following program and what will be content of t?
      #include<stdio.h>
      
      int main()
      {
          FILE *fp;
          int t;
          fp = fopen("DUMMY.C", "w");
          t = fileno(fp);
          printf("%d\n", t);
          return 0;
      }
      

    • Options
    • A. size of "DUMMY.C" file
    • B. The handle associated with "DUMMY.C" file
    • C. Garbage value
    • D. Error in fileno()
    • Discuss
    • 6. 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
    • 7. What will be the output of the program?
      #include<stdio.h>
      
      int main()
      {
          int y=128;
          const int x=y;
          printf("%d\n", x);
          return 0;
      }
      

    • Options
    • A. 128
    • B. Garbage value
    • C. Error
    • D. 0
    • Discuss
    • 8. 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
    • 9. 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
    • 10. 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


    Comments

    There are no comments.

Enter a new Comment