Programming Languages C Objective
Mar 07, 2013

What will be output of following c code?

#include<stdio.h>

int r();

int main(){

    for(r();r();r()) {

         printf("%d ",r());

    }

    return 0;

}

int r(){

    int static num=7;

    return num--;

}

Choose the correct answer:
A) 6 2
B) 6 1
C) 5 2
D) 7 6
Detailed Explanation

First iteration:

Loop initial value: r() = 7

Loop condition: r() = 6

Since condition is true so printf function will print r() i.e. 5

Loop incrimination: r() = 4

Second iteration:

Loop condition: r() = 3

Since condition is true so printf function will print r() i.e. 2

Loop incrimination: r() = 1

Third iteration:

Loop condition: r() = 0

Since condition is false so program control will come out of the for loop.

 

Discussion (0)

No comments yet. Be the first to share your thoughts!

Share Your Thoughts
Feedback