Output of C programs | Set 65 (If-Else)
Prerequisite : Decision making in C
Question 1
C
#include"stdio.h"
#include"stdlib.h"
void reverse( int i)
{
if (i > 5)
exit (0);
printf ( "%d\n" , i);
return reverse(i++);
}
int main()
{
reverse(1);
}
|
OPTIONS:
a)Segmentation fault
b)Compilation error
c)Print 1 Infinite time
d)Both a & c
OUTPUT: (d)Both a & c
Explanation:
We call the main method again and again by 1 because we use post-increment. At certain time stack frame will full means segmentation fault occurs.
Question 2
OPTIONS:
a)mannu is Crazy
b)paul is crazy
OUTPUT: (b)paul is crazy
Explanation:
Here ,comparison between long int and unsigned long int generally which is not possible.
Now,long int is promoted to unsigned long int whose value will be
(2^size_of_unsigned_long_int)-1.
Question 3
OPTIONS:
a)Hello 3
b)Hello 0
c)Geeksforgeeks 0
d)Geeksforgeeks 3
OUTPUT: (c) Geeksforgeeks 0
Explanation: At first zero will assign in ‘i’ then comma operator returns the last value which is 3 and condition becomes true.
Question 4
CPP
#include"stdio.h"
int main()
{
int i;
if (i=(2,1,0))
printf ( "Geeksforgeeks " );
else
printf ( "Hello " );
printf ( "%d\n" ,i);
}
|
OPTIONS:
a)Hello 3
b)Geeksforgeeks 0
c)Hello 0
d)Geeksforgeeks 3
OUTPUT: (c) Hello 0
Explanation: Priority of parenthesis bracket is greater than equal to(=) operator , So atfirst comma operator return the last value which is zero(0) and then equal to(=) operator assign 0 to ‘i’ and condition becomes false.
Question 5
C
#include"stdio.h"
int main()
{
float a=0.7d;
if (a<0.7)
printf ( "C" );
else
printf ( "C++" );
return 0;
}
|
OPTIONS:
a)Compilation error
b)C++
c)C
OUTPUT: (C)C
Explanation:
a = 0.7 is rounded to 0.699999988
and the constant 0.7 is as 0.69999999999
so a<0.7 is true so it print “c”
but in case of 0.8
a = 0.800000011 and
constant 0.8 is 0.8000000000000000
Last Updated :
13 Mar, 2023
Like Article
Save Article
Share your thoughts in the comments
Please Login to comment...