#include <stdio.h>
int main(){
static int a = 9;
if (a--){
printf("after decrement a =%d\n", a);
main();
}
return 0;
}
Output:
after decrement a =8
after decrement a =7
after decrement a =6
after decrement a =5
after decrement a =4
after decrement a =3
after decrement a =2
after decrement a =1
after decrement a =0
here prints up to a=0
when using if(--a)
output:
after decrement a =8
after decrement a =7
after decrement a =6
after decrement a =5
after decrement a =4
after decrement a =3
after decrement a =2
after decrement a =1
here prints up to a=1
So, the question is when using if(a--)
it prints up to 0
and when using if(--a)
it prints up to 1
, how when using pre decrement , the output starts from 8
rather starting from 9
.