The ones who are crazy enough to think they can change the world are the ones who do.- Steve Jobs
In most of the MNC interview questions such as in ZOHO interview question, IVTL Infoview interview questions, Amazon interview questions, GOOGLE interview questions, Infosys interview questions and even in Voonik interview questions, We come across several Tricky C Questions about which 2:5 of the questions are from Files in c. Solving that kind of tricky C questions is not an easy task for all C programmers. We need more practices to solve it with ease. So we provide 25+ interesting C questions in Files to make your MNC interview very easy.
6. In C, when getc() function returns EOF?
C. When getc() fails to read a character✘
Option: D
In C, getc() function returns EOF if the file pointer reaches the end of the file or getc() function fails to get value.
7.fopen() function will not opens ______
Option: D
fopen() will opens almost all the files.
8.What will be the output of the C program?
/*This program uses the datafile.txt which contains the following data*/ /* Hai. This is 2braces.com. */ #include<stdio.h> int main() { unsigned char ch; FILE *fp; fp = fopen("datafile.txt", "r"); while ((ch = fgetc(fp)) != EOF) { printf("%c", ch); } printf(" Thank you."); fclose(fp); return 0; }
C."Hai. This is 2braces.com. Thank you."✘
D."Hai. This is 2braces.com." and loop continues for infinite times✔
Option: D
The above C program opens a file(datafile.txt) in read mode. The program gives us a permisson to read data in that file. Here we get data using fgetc(fp) and stored it to the variable ch(unsigned char type), each time the loop checks whether the file pointer reaches the end of a file or not by using EOF(which is predefined macro in c). EOF is equivalent to -1 which is a non-zero value. So the loop executes for infinite times after reading that file data. You should notice that we have declared a unsigned char.
9.What will be the output of the C program?
/*This program uses the datafile.txt which contains the following data*/ /* Hai. This is 2braces.com. */ #include<stdio.h> int main() { char ch; FILE *fp; fp = fopen("datafile.txt", "w"); while ((ch = fgetc(fp)) != EOF) { printf("%c", ch); } printf("Thank you."); fclose(fp); return 0; }
A. Hai. This is 2braces.com. Thank you.✘
C. Hai. This is 2braces.com. and enters into an infinite loop.✘
Option: B
In this program we have just changed that unsigned char to char data type and also the file mode to write "w". So when we try to read the file using fgetc(fp), it will not work. The control directly passes next statement("Thank you.") after the while loop. We have the permission to write a file so we can't read.
10.What will be the output of the C program?
/*This program uses two files*/ #include<stdio.h> int main() { char ch; FILE *fptr1, *fptr2; fp = fopen("datafile1.txt", "w"); fp = fopen("datafile2.txt", "w"); printf("Thank you."); fclose(*fptr1, *fptr2); return 0; }
Option: C
Error: too many arguments to function 'int fclose(FILE*)'. This error will appears if you run the above program. The fclose() function closes only one file at a time, we cannot close more than one file.
We may make mistakes(spelling, program bug, typing mistake and etc.), So we have this container to collect mistakes. We highly respect your findings.
© Copyright 2019