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.