C Programming :: Declarations and Initializations - Discussion
496 / 54
#include <stdio.h>
int main()
{
static int i;
int j;
for(j=0;j<10;j++)
{
i= i+2;
i = i-j;
}
printf("%d",i);
return 0;
}
#include <stdio.h>
int main()
{
static int i;
int j;
for(j=0;j<10;j++)
{
i= i+2;
i = i-j;
}
printf("%d",i);
return 0;
}
A25
B-25
C20
D-20
ENone of these
Show Explanation
i=i+2 will be 0+2 =2;
i = i - j will be 2-0 = 2;
second iteration i=2
j=1;
i=i+2 will be 4
i =i-j will be 4-1 =3
third iteration i=3
j=2;
i=i+2 will be 5
i= i-j will be 5-2 =3
fourth iteration i=3
j=3;
i=i+2 will be 5
i= i-j will be 5-3 =2
fifth iteration i=2
j=4;
i=i+2 will be 4
i =i-j will be 4-4=0
sixth iteration i=0
j=5;
i=i+2 will be 2
i= i-j will be 2-5 =-3
seventh iteration i=-3
j=6;
i=i+2 will be -1
i =i-j will be -1-6 =-7
eighth iteration i=-7
j=7;
i=i+2 will be -5
i =i-j will be -5-7 =-12
ninth iteration i=-12
j=8;
i=i+2 will be -10
i =i-j will be -10-8 =-18
tenth iteration i=-18
j=9;
i=i+2 will be -16
i =i-j will be -16-9 =-25
printf("%d", i); will be -25
Asked In ::
i=0 as it is static variable,for first iteration
i=i+2 will be 0+2 =2;
i = i - j will be 2-0 = 2;
second iteration i=2
j=1;
i=i+2 will be 4
i =i-j will be 4-1 =3
third iteration i=3
j=2;
i=i+2 will be 5
i= i-j will be 5-2 =3
fourth iteration i=3
j=3;
i=i+2 will be 5
i= i-j will be 5-3 =2
fifth iteration i=2
j=4;
i=i+2 will be 4
i =i-j will be 4-4=0
sixth iteration i=0
j=5;
i=i+2 will be 2
i= i-j will be 2-5 =-3
seventh iteration i=-3
j=6;
i=i+2 will be -1
i =i-j will be -1-6 =-7
eighth iteration i=-7
j=7;
i=i+2 will be -5
i =i-j will be -5-7 =-12
ninth iteration i=-12
j=8;
i=i+2 will be -10
i =i-j will be -10-8 =-18
tenth iteration i=-18
j=9;
i=i+2 will be -16
i =i-j will be -16-9 =-25
printf("%d", i); will be -25
Read Full Answer
Report Error
Please Login First Click Here
In static storage class by default variable will be 0
so static int i =0 (by default) and scope = till program terminates
in loop
(j=0,i=0+2=2,i=2-0=2)
(j=1,i=2+2=4,i=4-1=3)
(j=2,i=3+2=5,i=5-2=3)
(j=3,i=3+2=5,i=5-3=2)
(j=4,i=2+2=4,i=4-4=0)
(j=5,i=0+2=2,i=2-5=-3)
(j=6,i=-3+2=-1,i=-1-6=-7)
(j=7,i=-7+2=-5,i=-5-7=-12)
(j=8,i=-12+2=-10,i=-10-8=-18)
(j=9,i=-18+2=-16,i=-16-9=-25)
j=9<10 loop end
ans is -25
Read Full Answer
Report Error
Please Login First Click Here
Ashumendra Yadav
8 Mar, 2019 5:06 AM
In static storage class by default variable will be 0
so static int i =0 (by default) and scope = till program terminates
in loop
(j=0,i=0+2=2,i=2-0=2)
(j=1,i=2+2=4,i=4-1=3)
(j=2,i=3+2=5,i=5-2=3)
(j=3,i=3+2=5,i=5-3=2)
(j=4,i=2+2=4,i=4-4=0)
(j=5,i=0+2=2,i=2-5=-3)
(j=6,i=-3+2=-1,i=-1-6=-7)
(j=7,i=-7+2=-5,i=-5-7=-12)
(j=8,i=-12+2=-10,i=-10-8=-18)
(j=9,i=-18+2=-16,i=-16-9=-25)
j=9<10 loop end
ans is -25
Report Error