Documente Academic
Documente Profesional
Documente Cultură
PRACTICA N 4
ARREGLOS Y PUNTEROS
2. Repita el ejercicio anterior, pero esta vez, en el inciso b, que sea el usuario quien
introduzca los valores desde el teclado.
#include <stdio.h>
#define LARGO 11
int main()
{
char arr[LARGO] = {104,111,108,97,0,109,117,110,100,111,0};
int i;
for(i=0;i<LARGO;i++){
printf("%d ",arr[i]);
}
printf("\n");
for(i=0;i<LARGO;i++){
printf("%c",arr[i]);
}
printf("\n");
printf("%s",arr);
printf("\n");
return 0;
}
1
5. Qu debera modificar en el arreglo del ejercicio anterior para que la expresin
printf("%s",arr); imprima hola mundo?
int n;
scanf("%d",&n);
int arr[n];
7. Implemente el cdigo para convertir un nmero entero en una cadena con los caracteres
que lo representan, de la manera que se muestra en el siguiente ejemplo:
34256 3 4 2 5 6 \0
#include <stdio.h>
int j, k;
int *ptr;
int main()
{
j = 1;
k = 2;
ptr = &k;
printf("\n");
printf("j tiene el valor %d y est almacenado en %p\n",j,&j);
printf("k tiene el valor %d y est almacenado en %p\n",k,&k);
printf("ptr tiene el valor %p y est almacenado en
%p\n",ptr,&ptr);
printf("El valor del entero al que apunta ptr is %d\n", *ptr);
return 0;
}
6. Realice un programa donde el usuario ingrese por teclado los valores de dos variables
(un entero y un carcter), los incremente en 1 utilizando punteros e imprima dichas
variables en pantalla.
2
7. El siguiente cdigo forma parte de un programa
long int num = 0xFEDCA987;
long int *pl;
unsigned char *pc;
pl = #
Realice, utilizando punteros, el cdigo necesario para poder imprimir en pantalla cada uno
de los bytes que conforman la variable num.
NOTA: La variable num simplemente almacena un entero; en este caso ese entero se ha
escrito en formato hexadecimal para facilitar la identificacin de los bytes que lo componen
(para esto se us el prefijo 0x). Puede serle til recordar que con el modificador %x se
imprimen valores en formato hexadecimal.
Sabiendo que num se almacena utilizando el sistema CA2 qu signo supone que tiene el
valor asignado? Verifique imprimiendo con %d.
#include <stdio.h>
char strA[40] = "Solamente una cadena de prueba";
char strB[40];
int main()
{
char *pA;
char *pB;
puts(strA);
3
pA = strA;
puts(pA);
pB = strB;
putchar('\n');
while(*pA != '\0'){
*pB++ = *pA++;
}
*pB = '\0';
puts(strB);
return 0;}