Red de conocimiento informático - Computadora portátil - Las sentencias de bucle For en programas en lenguaje C a veces usan expresiones de coma. ¿Qué hace exactamente la expresión de coma aquí?

Las sentencias de bucle For en programas en lenguaje C a veces usan expresiones de coma. ¿Qué hace exactamente la expresión de coma aquí?

El operador coma tiene la precedencia más baja en C, y las expresiones separadas por él se evaluarán de izquierda a derecha.

Por ejemplo:

for (i = 0, j = strlen(s)-1; i lt; j; i, j--) {

...

}

No puedes usar un punto y coma aquí, de lo contrario se confundirá con el punto y coma usado para separar las tres declaraciones de control de bucle en for.

El operador de coma también es adecuado para otras estructuras estrechamente relacionadas. Por ejemplo, el intercambio de los valores de dos variables se puede escribir como

tmp = a, a = b. , b = tmp;

Pero debe usarse con precaución, no hay nada malo con el punto y coma.