¿Cuál tiene mayor precedencia en la multiplicación en C o la división?

#include  int main(void) { int w=2*3/2; //1 int x=5%2*3/2; //2 printf("%d %d",w,x); return 0; } 

SALIDA 3 1

En 1); está dando mayor prioridad a la multiplicación que a la división, mientras que en (2) su viceversa. ¿Porque?

Tienen la misma prioridad y siempre se ejecutan de izquierda a derecha.

 2*3/2 = (2*3)/2 => 3 6/2 => 3 

y

 5%2*3/2 = ((5%2)*3)/2 => 1 (1*3)/2 => 1 3/2 => 1 (integer gets truncated) 

La multiplicación y la división de mi amigo tienen la misma precedencia. Pero en este código que escribieron, ambos se juntaron en una expresión. Entonces, cuando dos operadores se juntaron en una expresión, verificamos “Asociatividad” aquí es “de izquierda a derecha”.

 1)it will first solve multiplication than division.left to right 

una en

 2)it will first solve % then * than /.left to right 

Para obtener más información, lea atentamente la asociatividad y la prioridad de los operadores en C, puede encontrarlo fácilmente en Internet.

Izquierda a la derecha cuenta en ese caso. ¡Pero de todos modos! En algunas publicaciones académicas, la multiplicación implícita se interpreta como que tiene mayor precedencia que la división. Así que hay una forma diferente de ver esto. Y esa es también la razón por la que los matemáticos o los médicos intentan evitar este tipo de notación en primer lugar y, en cambio, escriben una fracción.