instrucción de retorno compleja usando operador de coma en el lenguaje de programación C.

En este tutorial vamos a aprender sobre comunicado return compleja programación en C usando operador coma .

Aquí vamos a aprender cómo podemos utilizar una declaración return para otros fines con la devolución de valor a la función que llama?

valor Asignar a la variable global y el valor de volver a llamar a la función

En el siguiente código, una declaración return complejo está utilizando para dos propósitos:

  • Asignación de valor a la variable global.
  • Volviendo valor a la función que llama.

Considere este programa

#include <stdio.h>
//global variable
int status=0;
int testFunction(void){
printf("Body of testFunction...n");
//complex return statement
return (status=10, -3);
}
int main(){
int return_value=0;
printf("Main function started...n");
return_value=testFunction();
printf("Value of status= %dn",status);
printf("Return value of testFunction is: %dn",return_value);
printf("End of main function...n");
return 0;
}

salida

Main function started...
Body of testFunction...
Value of status= 10
Return value of testFunction is: -3
End of main function...

Consideremos ahora la siguiente declaración return complejo utilizado en la función

return (status=10, -3);

Aquí, 10 se le asignará a la variable global estado , que se puede utilizar más y -3 serán devueltos a la función de llamada main () que también se puede utilizar más.

Cuando la instrucción (staus = 10, -3) evalúa, primera expresión estado = 10 ejecuta y cesionarios 10 a variable de estado y luego segunda expresión después de la coma -3 ejecuta y según precedencia de los operadores y asociativamente el valor retornables final será (-3) .

Para una mejor comprensión, considere la siguiente declaración, que puede borrar coma el comportamiento del operador:

int x=(10,20);

Cuando este valor efectúa la declaración de x será de 20 porque el 10, 20 están en los soportes, de modo 10, 20 serán evaluados primero antes de asignar el valor en la variable x . Por lo tanto el valor final dentro del soporte será (20).

He aquí otra declaración:

int x=10,20;

En esta declaración no hay soportes y = tiene mayor prioridad que coma (, ) del operador, por lo que 10 serán asignados a x y el valor de x será 10 .

Referencia: https://en.wikipedia.org/wiki/Comma_operator


Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *