Open In App

Output of C programs | Set 57 (for loop)

Improve
Improve
Like Article
Like
Save
Share
Report

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
Previous
Next
Share your thoughts in the comments
Similar Reads