Skip to content

Commit 02c173d

Browse files
authored
Merge pull request mouredev#6285 from D1d4cum/main
#5 - C
2 parents aadd8e0 + 285a259 commit 02c173d

File tree

1 file changed

+64
-0
lines changed

1 file changed

+64
-0
lines changed
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
#include <stdio.h>
2+
3+
/*
4+
// Variables por valor
5+
int age1 = 28;
6+
printf("Edad 1: %d\n", age1);
7+
8+
int age2 = age1;
9+
printf("Edad 2: %d\n", age1);
10+
age2 = 30;
11+
printf("Edad 1: %d\n", age1);
12+
printf("Edad 2: %d\n", age2);
13+
14+
// Variables por referencia usando punteros
15+
int* age3 = &age1;
16+
printf("Edad 1: %d\n", age1);
17+
*age3 = 45;
18+
printf("Edad 1: %d\n", age1);
19+
*/
20+
21+
int valor1 = 1;
22+
int valor2 = 2;
23+
int newValor1;
24+
int newValor2;
25+
26+
void valor(int valor1, int valor2) {
27+
int old1 = valor1;
28+
int old2 = valor2;
29+
30+
valor2 = old1;
31+
valor1 = old2;
32+
33+
newValor1 = valor1;
34+
newValor2 = valor2;
35+
}
36+
37+
void reference(int *valor1, int *valor2) {
38+
int old1 = *valor1;
39+
int old2 = *valor2;
40+
41+
*valor1 = old2;
42+
*valor2 = old1;
43+
44+
newValor1 = *valor1;
45+
newValor2 = *valor2;
46+
}
47+
48+
int main() {
49+
printf("**Paso por valor**\n");
50+
valor(valor1, valor2);
51+
printf("Valor 1 original: %d\n", valor1);
52+
printf("Valor 2 original: %d\n", valor2);
53+
printf("Valor 1 nuevo: %d\n", newValor1);
54+
printf("Valor 2 nuevo: %d\n", newValor2);
55+
56+
printf("**Paso por referencia**\n");
57+
reference(&valor1, &valor2);
58+
printf("Valor 1 original: %d\n", valor1);
59+
printf("Valor 2 original: %d\n", valor2);
60+
printf("Valor 1 nuevo: %d\n", newValor1);
61+
printf("Valor 2 nuevo: %d\n", newValor2);
62+
63+
return 0;
64+
}

0 commit comments

Comments
 (0)