+ * Demostracion del pase de argumentos por valor y por referencia
+ int a = 10, b = 20, c = 30; // declaro y asigno valores
+ printf("Valores antes de llamar a método m1():\n");
+ printf("a=%d\tb=%d\tc=%d", a, b, c); //imprime a=10 b=20 c=30
+ printf("\nValores después de llamar a método m1():\n");
+ printf("a=%d\tb=%d\tc=%d", a, b, c); // vuelve a imprimir a=10 b=20 c=30
+ // porque no ha cambiado. Es por valor
+ printf("\nValores después de llamar a método m2():\n");
+ printf("a=%d\tb=%d\tc=%d", a, b, c);
+ //imprime a=100 b=200 c=300
+ // porque, al usar punteros, es por referencia
+int m1(int a, int b, int c) {
+ printf("\nValores cambiados en el método m1():\n");
+ printf("a=%d\tb=%d\tc=%d", a, b, c); // imprime a=100 b=200 c=300
+int m2(int *a, int *b, int *c) {
+ printf("\nValores cambiados en el método m2():\n");
+ printf("a=%d\tb=%d\tc=%d", *a, *b, *c); // imprime a=100 b=200 c=300