Está en la página 1de 2

Universidad Nacional de Asunción – Facultad Politécnica Punteros en C

Tarea 8
Tema 1 (1p extra)
Determine (agregue código para mostrar en pantalla) la dirección y el valor de la variable x
en foo1, y lo mismo para la variable y en foo2. ¿Qué nota con los resultados? Proporcione
una explicación (agregue las respuestas como comentario en el código).

#include <stdio.h>
void foo1(int xval)
{
int x;
x = xval;
/* imprima aquí la dirección y el valor de x */
}
void foo2(int dummy)
{
int y;
/* imprima aquí la dirección y el valor de y */
}
int main()
{
foo1(7);
foo2(11);
return 0;
}

Tema 2 (2p)
En este programa, la función swap_nums (intercambiar números) trabaja correctamente,
pero la función swap_pointers (intercambiar punteros) no lo hace. Su trabajo consiste en
implementar los cambios para que esta última funcione correctamente.

#include <stdio.h>
void swap_nums(int *x, int *y)
{
int tmp;
tmp = *x;
*x = *y;
*y = tmp;
}
void swap_pointers(char *x, char *y)
{
char *tmp;
tmp = x;
x = y;
y = tmp;
}
int main()
{
int a,b;
char *s1,*s2;
a=3; b=4;
swap_nums(&a,&b);
printf("a es %d\n", a);
Universidad Nacional de Asunción – Facultad Politécnica Punteros en C

printf("b es %d\n", b);


s1 = "Debo aparecer segundo";
s2 = "Debo aparecer primero";
swap_pointers(s1,s2);
printf("s1 es: %s\n", s1);
printf("s2 es: %s\n", s2);
return 0;
}

Tema 3 (5p)
Escribir un programa en C que lea por teclado un conjunto de N palabras (cada palabra puede
tener como máximo 30 caracteres), y que las muestre en pantalla en orden alfabético.

Observaciones:
• Antes de ingresar las palabras, el usuario ingresará por teclado el valor de N. Se puede
suponer que siempre ingresará un número entero y positivo.
• IMPORTANTE: El conjunto de N palabras se almacenará en una matriz de caracteres.
No se puede emplear la función strcpy, ni crear una función o sección de código que
realice la misma acción. Es decir, una vez leída una cadena y cargada en la matriz de
caracteres, ya no se “mueve de lugar”. Tampoco se puede crear un vector o una matriz
auxiliares. Pista: trabajar con un vector de punteros.

También podría gustarte