Output of C programs | Set 57 (for loop)
Prerequisite : for loop
Q.1 What is the output of this program?
#include <iostream>
using namespace std;
int main()
{
for (5; 2; 2)
printf ( "Hello\n" );
return 0;
}
|
Options
a) compilation error
b) Hello
c) infinite loop
d) none of the above
ans: c
Explanation : Putting a non zero value in condition part makes it infinite.
Q.2 What is the output of this program?
#include <iostream>
using namespace std;
int main()
{
static int i;
for (i++; ++i; i++) {
printf ( "%d " , i);
if (i == 6)
break ;
}
return 0;
}
|
Options
Options:
a) 2 4 6
b) compilation error
c) garbage value
d) no output
ans : a
Explanation : After first iteration, program looks like (0, 2, 2). It breaks when i = 6.
Q.3 What is the output of this program?
#include <iostream>
using namespace std;
int fun();
int main()
{
for (fun(); fun(); fun()) {
printf ( "%d " , fun());
}
return 0;
}
int fun()
{
int static num = 10;
return num--;
}
|
Options
a) compilation error
b) can’t be predicted
c) 8 5 2
d) none of the above
ans: c
Explanation :
At first iteration:
for(10; 9; fun()) //condition true
printf("%d", 8) //8 prints
At second iteration:
for(10; fun(); 7)
for(7; 6 ;fun()) //condition true
printf("%d", 5) //5 prints
At third iteration:
for(7; fun(); 4)
for(4; 3; fun()) //condition true
printf("%d", 2) //2 prints
At fourth iteration:
for(4; fun(); 1)
for(1; 0; fun()) //condition false
Program terminates
Q.4 What is the output of this program?
#include <iostream>
using namespace std;
int main()
{
for (;;)
printf ( "%d " , 10);
return 0;
}
|
Options
a) compilation error
b) run time error
c) 10
d) Infinite loop
ans : d
Explanation : Since no condition is provided so loop runs infinitely.
Q.5 What is the output of this program?
#include <iostream>
using namespace std;
int main()
{
char i = 0;
for (; i++; printf ( "%d" , i))
;
printf ( "%d" , i);
return 0;
}
|
Options
a) 0
b) 1
c) Infinite loop
d) compilation error
ans: b
Explanation : The following condition fails for first time so loop terminates and value of i is incremented to 1.
for(; 0; printf("%d", i))
Q.6 What is the output of this program?
#include <iostream>
using namespace std;
int main()
{
int i;
for (i = 0; i < 0, 5; i++)
printf ( "%d " , i);
return 0;
}
|
Optionsa) error
b) 1, 3
c) program never ends
d) none of these
ans: c
Explanation :-
Considers two conditions:
(a)i<0 fails for first iteration
(b)5 in condition part makes it infinite loop as it never becomes 0.
Last Updated :
02 Oct, 2017
Like Article
Save Article
Share your thoughts in the comments
Please Login to comment...