Je ne comprends pas pourquoi avant l'instruction if ++b[1] est égal à 1, mais après l'instruction if ++b[1] est égal à 0. Pourquoi ++b[1] n'augmente pas à l'intérieur de l'instruction if?
#include
int main()
{
int c = 0;
int b[3] = {4};
printf("%d\n", ++b[1]); // retourne 1
b[1]--;
if((c-- && ++b[1])|| b[0]++)
{
printf("%d\n", b[1]); // retourne 0
printf("%d\n", c); // retourne -1
}
return 0;
}