Autor Tema: Tipos básicos de datos en C int long char Función printf en lenguajeC CU00523F  (Leído 2366 veces)

Dimitar Stefanov

  • Experto
  • *****
  • Mensajes: 598
    • Ver Perfil
Buenas. Os dejo una posible solución del ejercicio CU00523F del tutorial lenguajeC desde cero.

Citar
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:

Código: [Seleccionar]
#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.
« Última modificación: 05 de Julio 2016, 15:54 por César Krall »

César Krall

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2078
  • No vales por lo que dices, sino por lo que haces
    • Ver Perfil
    • aprenderaprogramar.com
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!
Responsable de departamento de producción aprenderaprogramar.com

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".