Foros aprenderaprogramar.com
Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: Dimitar Stefanov en 29 de Junio 2016, 17:00
-
Buenas. Os dejo una posible solución del ejercicio CU00523F del tutorial lenguajeC desde cero.
EJERCICIO
Crea un programa donde se cumplan estas indicaciones. Declara cuatro variables: una de tipo entero y nombre edad, otra de tipo long y nombre distancia, otra de tipo carácter y nombre letra y otra de tipo array de caracteres y nombre cadenaTexto. Asígnales, respectivamente, los siguientes valores: 21, 488321, k, alameda. Muestra dichos contenidos por pantalla. A continuación asigna respectivamente, los siguientes valores a las variables: 22, 666543, t, arboleda. Muestra dichos contenidos por pantalla.
La solución:
#include <stdio.h>
#include <stdlib.h>
int main(){
int edad = 21;
long distancia = 488321;
char letra = 'k';
char cadenaTexto[9];
cadenaTexto[0] = 'a';
cadenaTexto[1] = 'l';
cadenaTexto[2] = 'a';
cadenaTexto[3] = 'm';
cadenaTexto[4] = 'e';
cadenaTexto[5] = 'd';
cadenaTexto[6] = 'a';
printf("edad vale %d, distancia vale %ld, letra vale %c, cadenaTexto vale %s\n\n\n", edad, distancia, letra, cadenaTexto);
edad = 22;
distancia = 666543;
letra = 't';
cadenaTexto[0] = 'a';
cadenaTexto[1] = 'r';
cadenaTexto[2] = 'b';
cadenaTexto[3] = 'o';
cadenaTexto[4] = 'l';
cadenaTexto[5] = 'e';
cadenaTexto[6] = 'd';
cadenaTexto[7] = 'a';
printf("edad vale %d, distancia vale %ld, letra vale %c, cadenaTexto vale %s", edad, distancia, letra, cadenaTexto);
return 0;
}
No entiendo porque el array tiene que tener 9 índices si la cadena más larga que ponemos es de 8 letras.
Gracias.
-
Hola! Todo bien. Los arrays de caracteres en C "tienen truco" porque requieren de un carácter oculto al final de la cadena (un carácter que no es visible sino que sirve como señal de fin de cadena). Esto se explica más adelante en el curso (http://aprenderaprogramar.com/index.php?option=com_content&view=article&id=934:funciones-para-cadenas-en-c-longitud-sizeof-stringh-y-strcpy-strlen-strcat-strcmp-ejemplos-cu00535f&catid=82:curso-basico-programacion-lenguaje-c-desde-cero&Itemid=210)
Saludos!