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 for loop 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 for loop to make your MNC interview very easy.
21. What will be the output of the C program?
#include<stdio.h> int main() { char i = 0; for(;i++;printf("%d", i)) ; printf("%d",i); return 0; }
Option: C
Here, for(; i++; printf("%d", i)) ;
i.e) for(;0;printf("%d", i));//condition fails for the first time itself
thus the loop terminated, but the value of i is incremented to 1.
Now printf("%d",i); printf the value 1 to the output.
22. What will be the output of the C program, if input is 6?
#include<stdio.h> int main() { int i = 0; for(i = 0;i == 0;i++) { printf("%d", i); } return 0; }
Option: A
i == 0 condition in for loop is true for one time and its prints the value of i i.e) 0 is outputted.
23. What will be the output of the C program by considering 'b' as a User input?
#include<stdio.h> int main() { int i; for(i = 0;i<(i++, 5);i++) printf("%d ",i); return 0; }
Option: C
Comma operator plays some trick here. lets examine it
when using comma opertor in any conditional place right most value willbe consider for checking the condition
for(i = 0;i<(i++, 4);i++)
ie) for(i = 0; i<(0,4); i++)
{
printf("%d", 1);
// prints 1
}
ie) for(i=2; i<(2,4); i++)
{
printf("%d",3);
// prints 3
}
ie) for(i=4; i<(4,4); i++)
//condition fails
Thus 1 3 is outputted
24. What will be the output of the C program?
#include<stdio.h> int main() { int i; for(i = 0;i<0,5;i++) printf("%d\n",i); return 0; }
Option: B
Here we do not use any brackets in conditional place of for loop, thus compiler will consider that two conditions are given in this place, thus
1. i< 0 // fails for the first iteration itself
1. 5 // which is infinite as 5 neven becomes 0.
25. What will be the output of the C program?
#include<stdio.h> int main() { int i, j; for(i = 0, j=5;i<j;i++,j--) printf("%d %d ",i, j); return 0; }
Option: C
In this for loop there is two initialization, one condition and 2 incrementation
Thus i prints from 0 and j prints from 5.
With respect to condition 0 5 1 4 2 3 is outputted.
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