Boa tarde!
Comecei os estudos em linguagem C/C++ a qual nunca havia tido contato antes, estou achando bem interessante, porém, me deparei com uma situação que não estou conseguindo entender. Segue abaixo:
Não entendo o porque a saída/valor da variável a é = 6 no código abaixo:
int i=4, j=5, k=3;float a=6.0;a += (float) (i++/j*k);printf("a=%.2f i=%d \n",a,i);
Calculando a expressão (i++/j*k) acima, me retornaria '3' que somados ao valor de 'a' seria '9', porém o programa imprime '6'
Realizei alguns testes e fiz o seguinte:
Adicionei a variavel 'res', setei o valor '6.0' nela e apenas por fazer isso o programa retornou o valor '9'
int i=4, j=5, k=3;float a=6.0, res=6.0;a += (float) (i++/j*k);printf("a=%.2f i=%d \n",res,i);
Não estou compreendendo o comportamento deste código... Se alguém puder me esclarecer eu ficaria muito grato. Obrigado.