Tengo una duda en el siguiente ejercicio:
El ejercicio no tiene gran utilidad, es solamente para aprender.
La duda la tengo sobre el valor que marqué con negrita, ¿por qué se le agrega antes el símbolo "&" (que sirve para pasar la direccion de la variable)?
Yo sé, por pura practica que si no se le agrega el "&" en la pantalla no se imprime a "var1" con valor 0, que es el valor que adquiere luego de ejecutarse la funcion suma, sino que se lo imprime con valor 5.
En resumen, no me cierra por qué, teoricamente, se debe usar en este caso particular el símbolo "&"
alguien que me ayude plis
Gracias desde ya a los que quieran ayudar, toy arrancando con esto de programar y me estoy enganchando bastante tambien
#include <stdio.h>
int suma( int *a, int b )
{
int c;
c = *a + b;
*a = 0;
return c;
}
int main()
{
int var1, var2, resultado;
var1 = 5; var2 = 8;
resultado = suma(&var1, var2);
printf( "La suma es: %i y a vale: %i\n", resultado , var1 );
}
int suma( int *a, int b )
{
int c;
c = *a + b;
*a = 0;
return c;
}
int main()
{
int var1, var2, resultado;
var1 = 5; var2 = 8;
resultado = suma(&var1, var2);
printf( "La suma es: %i y a vale: %i\n", resultado , var1 );
}
La duda la tengo sobre el valor que marqué con negrita, ¿por qué se le agrega antes el símbolo "&" (que sirve para pasar la direccion de la variable)?
Yo sé, por pura practica que si no se le agrega el "&" en la pantalla no se imprime a "var1" con valor 0, que es el valor que adquiere luego de ejecutarse la funcion suma, sino que se lo imprime con valor 5.
En resumen, no me cierra por qué, teoricamente, se debe usar en este caso particular el símbolo "&"
alguien que me ayude plis
Gracias desde ya a los que quieran ayudar, toy arrancando con esto de programar y me estoy enganchando bastante tambien









Comentario