logo

CuriousTab

CuriousTab

Discussion


Home C Programming Input / Output Comments

  • Question
  • What will be the output of the program?
    #include<stdio.h>
    
    int main()
    {
        FILE *fp;
        unsigned char ch;
         /* file 'abc.c' contains "This is CuriousTab " */
        fp=fopen("abc.c", "r");
        if(fp == NULL)
        {
            printf("Unable to open file");
            exit(1);
        }
        while((ch=getc(fp)) != EOF)
            printf("%c", ch);
    
        fclose(fp);
        printf("\n", ch);
        return 0;
    }
    


  • Options
  • A. This is CuriousTab
  • B. This is
  • C. Infinite loop
  • D. Error

  • Correct Answer
  • Infinite loop 

    Explanation
    The macro EOF means -1.

    while((ch=getc(fp)) != EOF) Here getc function read the character and convert it to an integer value and store it in the variable ch, but it is declared as an unsigned char. So the while loop runs infinitely.


    Input / Output problems


    Search Results


    • 1. What will be the output of the program if value 25 given to scanf()?
      #include<stdio.h>
      
      int main()
      {
          int i;
          printf("%d\n", scanf("%d", &i));
          return 0;
      }
      

    • Options
    • A. 25
    • B. 2
    • C. 1
    • D. 5
    • Discuss
    • 2. What will be the output of the program?
      #include<stdio.h>
      
      int main()
      {
          FILE *fp;
          char ch, str[7];
          fp=fopen("try.c", "r"); /* file 'try.c' contains "This is Nagpur" */
          fseek(fp, 9L, SEEK_CUR);
          fgets(str, 5, fp);
          puts(str);
          return 0;
      }
      

    • Options
    • A. agpur
    • B. gpur
    • C. Nagp
    • D. agpu
    • Discuss
    • 3. What will be the output of the program?
      #include<stdio.h>
      
      int main()
      {
          int a=250;
          printf("%1d\n", a);
          return 0;
      }
      

    • Options
    • A. 1250
    • B. 2
    • C. 50
    • D. 250
    • Discuss
    • 4. What will be the output of the program?
      #include<stdio.h>
      
      int main()
      {
          float a=3.15529;
          printf("%2.1f\n", a);
          return 0;
      }
      

    • Options
    • A. 3.00
    • B. 3.15
    • C. 3.2
    • D. 3
    • Discuss
    • 5. What will be the output of the program?
      #include<stdio.h>
      
      int main()
      {
          FILE *ptr;
          char i;
          ptr = fopen("myfile.c", "r");
          while((i=fgetc(ptr))!=NULL)
              printf("%c", i);
          return 0;
      }
      

    • Options
    • A. Print the contents of file "myfile.c"
    • B. Print the contents of file "myfile.c" upto NULL character
    • C. Infinite loop
    • D. Error in program
    • Discuss
    • 6. What will be the output of the program?
      #include<stdio.h>
      
      int main()
      {
          printf("%c\n", ~('C'*-1));
          return 0;
      }
      

    • Options
    • A. A
    • B. B
    • C. C
    • D. D
    • Discuss
    • 7. What will be the output of the program?
      #include<stdio.h>
      
      int main()
      {
          char *p;
          p="%d\n";
          p++;
          p++;
          printf(p-2, 23);
          return 0;
      }
      

    • Options
    • A. 21
    • B. 23
    • C. Error
    • D. No output
    • Discuss
    • 8. If the file 'source.txt' contains a line "Be my friend" which of the following will be the output of below program?
      #include<stdio.h>
      
      int main()
      {
          FILE *fs, *ft;
          char c[10];
          fs = fopen("source.txt", "r");
          c[0] = getc(fs);
          fseek(fs, 0, SEEK_END);
          fseek(fs, -3L, SEEK_CUR);
          fgets(c, 5, fs);
          puts(c);
          return 0;
      }
      

    • Options
    • A. friend
    • B. frien
    • C. end
    • D. Error in fseek();
    • Discuss
    • 9. What will be the output of the program?
      #include<stdio.h>
      char *str = "char *str = %c%s%c; main(){ printf(str, 34, str, 34);}";
      
      int main()
      {
          printf(str, 34, str, 34);
          return 0;
      }
      

    • Options
    • A. char *str = "char *str = %c%s%c; main(){ printf(str, 34, str, 34);}"; main(){ printf(str, 34, str, 34);}
    • B. char *str = %c%s%c; main(){ printf(str, 34, str, 34);}
    • C. No output
    • D. Error in program
    • Discuss
    • 10. What will be the output of the program?
      #include<stdio.h>
      
      int main()
      {
          printf("%%%%\n");
          return 0;
      }
      

    • Options
    • A. %%%%%
    • B. %%
    • C. No output
    • D. Error
    • Discuss


    Comments

    There are no comments.

Enter a new Comment