Enviar una cadena como parámetro de una función

publicado por: Anonymous

Mi código es el siguiente

#include <stdio.h>
#include <string.h>

void pasar_cadena(char cadena1);

main(){

    char cadena1 [10] = "Hola";

    pasar_cadena(cadena1); //-> Aqui es el error

}

void pasar_cadena(char cadena1 [] ){

    printf("La Cadena es: ",cadena1);

}   

Me marca un error en la función pasar_cadena(cadena1):

invalid conversion from ‘char*’ to ‘char’ [-fpermissive]

Alguien me podría explicar como se pasa un parámetro tipo cadena a una función de forma correcta?

He buscado en Internet y la mayoría son tipo entero o solo un carácter.

solución

Para pasar un arreglo como parametro a una funcion en c lo que esta en realidad obtiene es un puntero apuntando al primer elemento del array, no se puede pasar directamente, por lo que te dejo como es la forma correcta en base a tu ejemplo:

#include <stdio.h>
#include <stdlib.h>

void pasar_cadena(char const *cadena1);

main(){
   char cadena1[10] = "Hola";

   pasar_cadena(cadena1);
}

void pasar_cadena(char const *cadena1){
  printf(cadena1);
}
Respondido por: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *