¿Cuál es el orden de prioridad del operador de mayor a menor?
La prioridad disminuye de arriba a abajo, teniendo el de arriba la prioridad más alta y el operador de coma la prioridad más baja. El orden en el que se combinan las expresiones depende de la precedencia de los distintos operadores en la expresión. Los operadores con mayor precedencia se combinan primero y los operadores con menor precedencia se combinan después. Los operadores de la misma fila tienen la misma prioridad.
La prioridad no tiene nada que ver con el orden de evaluación. Por ejemplo, a b; ampB*c, aunque * tiene la máxima prioridad, esta expresión se evalúa de izquierda a derecha.
Las prioridades disminuyen de arriba a abajo, siendo la superior la de mayor prioridad y el operador de coma la de menor prioridad.
En la misma prioridad, grupo por grupo. La mayoría de los operadores se combinan de izquierda a derecha y sólo tres niveles de prioridad se combinan de derecha a izquierda. Son operadores unarios, operadores condicionales y operadores de asignación.
Punto de secuencia
Un punto de secuencia es un punto en la ejecución del programa. Hasta este punto, la evaluación y los efectos secundarios de la expresión anterior se han completado, y la evaluación y los efectos secundarios de la última expresión aún no se han producido. El estándar C define los siguientes puntos de secuencia:
(1) operador y operador | Después de que se evalúe la primera subexpresión de.
(2) Después de evaluar todos los parámetros reales en la función llamada al operador ().
(3)Al final de cada expresión completa. Las expresiones completas incluyen expresiones de inicialización de variables, expresiones de declaración de expresión, expresiones de declaración de retorno, expresiones de control en declaraciones if o switch, expresiones de control en declaraciones while o do y las tres expresiones en declaraciones for.
(4) Antes de que regrese la función de biblioteca estándar, después de que la función de entrada/salida estándar formatee el descriptor de conversión, antes y después de que la función de búsqueda estándar y la función de clasificación llamen a la función de comparación, y después de que se pasen los parámetros .
Según la definición de punto de secuencia, el operador AND amp; O operador de coma |; El operando izquierdo de los cuatro operadores, como:, pertenece al punto de secuencia anterior y el operando derecho pertenece al punto de secuencia posterior. Por lo tanto, la evaluación del operando izquierdo de estos cuatro operadores debe completarse antes que el operando derecho.