[ Foro de C ]

Array de caracteres

04-Dec-2019 21:48
Saúl Leyva
4 Respuestas

Buenas! Tengo un problema con el siguiente ejercicio: "Plantee e implemente un programa en lenguaje C, que utilizando exclusivamente subprogramas, solicite nombres de animales por teclado y vaya rellenando un array de 7 elementos, mostrándolos posteriormente por pantalla apropiadamente".  

Tengo lo siguiente:


#include <stdio.h>

void animales(char a[7]){

    for(int i=0; i<7; i++){
        printf("Introduce nombres del animal %d: ", i);
        scanf("%s", &a[i]);
    }

    for(int j=0; j<7; j++){
        printf("%s ", a[j]);
    }
}

int main() {
    char a[7];

    animales(a);
}


Si alguien sabe lo que va mal, por favor responda. Gracias de antemano!


04-Dec-2019 22:34
Nacho Cabanes (+83)

char a[7] es un array formado por 7 caracteres (7 letras), no por 7 nombres

https://www.aprendeaprogramar.com/mod/resource/view.php?id=615
 


04-Dec-2019 22:39
Saúl Leyva

Entonces tendría que hacer a[7][10] por ejemplo?


04-Dec-2019 22:53
Nacho Cabanes (+83)

Exactamente. Recuerda que a[7][10] serían 7 cadenas de un máximo de 9 letras, porque tienes que reservar un byte para el terminador de cada cadena.


04-Dec-2019 22:55
Saúl Leyva

Mil gracias!!!






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)