Open In App

Output of C programs | Set 57 (for loop)

Last Updated : 02 Oct, 2017
Summarize
Comments
Improve
Suggest changes
Share
Like Article
Like
Report
Prerequisite : for loop Q.1 What is the output of this program? C
#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? CPP
#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? CPP
#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? CPP
#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? CPP
#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? CPP
#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.

Similar Reads