chunqingint
Suponiendo x=y=z=5, entonces la respuesta es efectivamente 3
El sistema primero ejecuta el juicio de ygt;z, que es falso, 0, por lo tanto (ygt; z)? x 2: x-2 ejecutará la segunda mitad de x-2, es decir, x=x-2, 3, 2. Luego se realiza la operación de asignación, por lo que x = 3 La siguiente expresión de coma significa que el compilador ejecutará el siguiente código secuencialmente y tomará el valor de la última expresión de operación como el valor final de la expresión, por lo que el valor de la expresión es. 2. Y el valor de x es 3.
Cabe señalar que esta forma de escribir tiene muy poca legibilidad. No escriba código como este en tiempos normales. El lugar más utilizado para las expresiones de coma es al hacer declaraciones de variables o declaraciones de funciones, como int a, b, c o int gcd(int a, int b);
Creo que debería ser nivel; Segunda pregunta, la persona que hizo esta pregunta es obviamente un viejo erudito. Es suficiente que el operador de coma se pueda utilizar de las dos formas anteriores. La implementación específica del lenguaje C debería ser algo para estudiar sobre el principio de compilación.