16/11/2022 ; 5:28 PM
This commit is contained in:
48
4. Funciones/Programas/Programa 4.8/Programa 4.8.c
Normal file
48
4. Funciones/Programas/Programa 4.8/Programa 4.8.c
Normal file
@@ -0,0 +1,48 @@
|
||||
#include <stdio.h>
|
||||
/* Combinación de variables globales y locales, y parámetros por valor
|
||||
➥ y por referencia. */
|
||||
|
||||
int a, b, c, d; /* Variables globales. */
|
||||
|
||||
void funcion1(int *, int *);
|
||||
/* Prototipo de función. Observa que los dos parámetros son por
|
||||
➥ referencia. */
|
||||
|
||||
int funcion2(int, int *);
|
||||
/* En este prototipo el primer parámetro es por valor y el segundo por
|
||||
➥ referencia. */
|
||||
|
||||
void main(void)
|
||||
{
|
||||
int a; /* Nota que a es una variable local. */
|
||||
a = 1; /* Se asigna un valor a la variable local a. */
|
||||
b = 2; /* Se asignan valores a las variables globales b, c y d. */
|
||||
c = 3;
|
||||
d = 4;
|
||||
printf("\n%d %d %d %d", a, b, c, d);
|
||||
funcion1 (&b, &c);
|
||||
printf("\n%d %d %d %d", a, b, c, d);
|
||||
a = funcion2(c, &d);
|
||||
printf("\n%d %d %d %d", a, b, c, d);
|
||||
}
|
||||
|
||||
void funcion1(int *b, int *c)
|
||||
{
|
||||
int d;
|
||||
a = 5; /* Observa que se hace referencia a la variable global a. */
|
||||
d = 3; /* Nota que se hace referencia a la variable local d. */
|
||||
(*b)++;
|
||||
(*c) += 2;
|
||||
printf("\n%d %d %d %d", a, *b, *c, d);
|
||||
}
|
||||
|
||||
int funcion2(int c, int *d)
|
||||
{
|
||||
int b;
|
||||
a++;
|
||||
b = 7;
|
||||
c += 3;
|
||||
(*d) += 2;
|
||||
printf("\n%d %d %d %d", a, b, c, *d);
|
||||
return (c);
|
||||
}
|
||||
Reference in New Issue
Block a user