logo

CuriousTab

CuriousTab

Discussion


Home C Programming Input / Output See What Others Are Saying!
  • 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.


    More questions

    • 1. Bitwise can be used to reverse a sign of a number.

    • Options
    • A. Yes
    • B. No
    • Discuss
    • 2. Is it necessary that in a function which accepts variable argument list there should be at least be one fixed argument?

    • Options
    • A. Yes
    • B. No
    • Discuss
    • 3. Bitwise can be used to generate a random number.

    • Options
    • A. Yes
    • B. No
    • Discuss
    • 4. A function that receives variable number of arguments should use va_arg() to extract the last argument from the variable argument list.

    • Options
    • A. True
    • B. False
    • Discuss
    • 5. Bitwise & can be used to check if more than one bit in a number is on.

    • Options
    • A. True
    • B. False
    • Discuss
    • 6. The preprocessor can trap simple errors like missing declarations, nested comments or mismatch of braces.

    • Options
    • A. True
    • B. False
    • Discuss
    • 7. It is necessary that a header files should have a .h extension?

    • Options
    • A. Yes
    • B. No
    • Discuss
    • 8. Bitwise | can be used to set multiple bits in number.

    • Options
    • A. Yes
    • B. No
    • Discuss
    • 9. Bitwise & can be used to check if a bit in number is set or not.

    • Options
    • A. True
    • B. False
    • Discuss
    • 10. A pointer union CANNOT be created

    • Options
    • A. Yes
    • B. No
    • Discuss


    Comments

    There are no comments.

Enter a new Comment