Home / C Programming / Control Instructions :: Discussion

Discussion :: Control Instructions

  1. What will be the output of the program, if a short int is 2 bytes wide?

     #include
     int main()
     {   
         short int i = 0; 
         for(i5 && i>=-1; ++i; i>0)          
             printf("%u,", i); 
         return 0; 
    } 
    

  2. A.

    1 ... 65535

    B.

    Expression syntax error

    C.

    No output

    D.

    0, 1, 2, 3, 4, 5

    View Answer

    Workspace

    Answer : Option A

    Explanation :

    for(i=-1; ++i; i>0) so expression i=-1 initializes for loop. expression ++i is the loop condition. expression i>0 is the increment expression.

    In for( i = -1; ++i; i>0) expression i=-1 evaluates to one.

    Loop condition always get evaluated to true. Also at this point it increases i by one.

    An increment_expression i>0 has no effect on value of i.so for loop get executed till the limit of integer (ie. 65535)


Be The First To Comment