/* * File: main.c * Author: dsilva * */#include<stdio.h>#include<stdlib.h>#include<string.h>/* * Demostracion del pase de argumentos por valor y por referencia */intmain(){inta=10,b=20,c=30;// declaro y asigno valoresprintf("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=30m1(a,b,c);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 valorm2(&a,&b,&c);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 referenciareturn(EXIT_SUCCESS);}// Por valorintm1(inta,intb,intc){a=100;b=200;c=300;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}//Por referenciaintm2(int*a,int*b,int*c){*a=100;*b=200;*c=300;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}
Comments (0)
HTTPSSSH
You can clone a snippet to your computer for local editing.
Learn more.