Find Output Of Program

Question 1 :

What will be the content of 'file.c' after executing the following program?

#include < stdio.h >
int main()
{
    FILE *fp1, *fp2;
    fp1=fopen("file.c", "w");
    fp2=fopen("file.c", "w");
    fputc('A', fp1);
    fputc('B', fp2);
    fclose(fp1);
    fclose(fp2);
    return 0;
}


A). B
B). A
B
C). B
B
D). Error in opening file 'file1.c'
Answer : Option A

Explanation :

Here fputc('A', fp1); stores 'A' in the file1.c then fputc('B', fp2); overwrites the contents of the file1.c with value 'B'. Because the fp1 and fp2 opens the file1.c in write mode.
Hence the file1.c contents is 'B'.


Question 2 :

What will be the output of the program ?

#include < stdio.h >
int main()
{
    int k=1;
    printf("%d == 1 is" "%s\n", k, k==1?"TRUE":"FALSE");
    return 0;
}


A). k == 1 is TRUE
B). 1 == 1 is TRUE
C). 1 == 1 is FALSE
D). K == 1 is FALSE
Answer : Option B

Explanation :

Step 1: int k=1; The variable k is declared as an integer type and initialized to '1'.
Step 2: printf("%d == 1 is" "%s\n", k, k==1?"TRUE":"FALSE"); becomes
=> k==1?"TRUE":"FALSE"
=> 1==1?"TRUE":"FALSE"
=> "TRUE"

Therefore the output of the program is 1 == 1 is TRUE


Question 3 :

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;
}


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
Answer : Option A

Question 4 :

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;
}


A). friend
B). frien
C). end
D). Error in fseek();
Answer : Option C

Explanation :

The file source.txt contains "Be my friend".
fseek(fs, 0, SEEK_END); moves the file pointer to the end of the file.
fseek(fs, -3L, SEEK_CUR); moves the file pointer backward by 3 characters.
fgets(c, 5, fs); read the file from the current position of the file pointer.
Hence, it contains the last 3 characters of "Be my friend".
Therefore, it prints "end".


Question 5 :

What will be the output of the program ?

#include < stdio.h >

int main()
{
    float a=3.15529;
    printf("%2.1f\n", a);
    return 0;
}


A). 3.00
B). 3.15
C). 3.2
D). 3
Answer : Option C

Explanation :

float a=3.15529; The variable a is declared as an float data type and initialized to value 3.15529;
printf("%2.1f\n", a); The precision specifier tells .1f tells the printf function to place only one number after the .(dot).
Hence the output is 3.2