¡Pida a los programadores que respondan una pregunta básica sobre programación en lenguaje C! ! ! Pregunta: ¡Ingrese dos números reales desde el teclado e intercambie sus valores!
#include lt; stdio.hgt;
fun1(int *a, int *b){
int t = *a=* b;*b=t;
//Defina una variable temporal, primero almacene el valor de a, luego asigne b a a y luego asigne t a b
//Porque de la función Los parámetros formales son direcciones, por lo que a y b pueden considerarse (pero no) como a y b en la función principal.
}
fun2(int *a, int *b){
*a = *b;
*b = * a-*b;
*a-=*b;
//La ventaja de este algoritmo es que puede lograr el propósito de intercambio sin declarar nuevas variables.
//Tenga en cuenta que a en fun1() y fun2 es la dirección de la variable a en la función principal.
//¡Entonces, la a aquí no es lo mismo que la de la función principal~!
}
main(){
int a, b; //Definir 2 variables enteras
printf("Ingrese dos número: "); // Prompt
scanf("d d", amp; a, amp; b); // Lee la salida del teclado y la almacena en dos variables respectivamente. Al ingresar, los números son separados por espacios
fun1(amp; a, amp; b); //Ejecuta la primera función de intercambio
printf("d, d\n", a, b); //Imprime y envía los dos números intercambiados a la pantalla
fun2(amp; a, amp; b); //Ejecuta la segunda función de intercambio
printf( "d, d); \n", a, b); //Imprime y envía los dos números después del intercambio a la pantalla. Puedes ver que los números se han intercambiado nuevamente.
}