Foros - Stratos

Programadores => General Programadores => Mensaje iniciado por: Leoheart en 01 de Enero de 1970, 01:00:00 AM

Título: Tengo un problema con C
Publicado por: Leoheart en 01 de Enero de 1970, 01:00:00 AM
                                Estoy empezando a programar con C. :ojo: y tengo el siguiente problema. He escrito este código:
#include

void gets2(int, int);
main()
{
   int x=4, y=7;
   gets(x, y);
}

void gets2(int xx, int yy)
{
   printf("El primero es %d, el segundo es %d", xx,yy);


}

Y me da el siguiente error:

C:Javiprueba.cpp(7) : error C2664: 'gets' : cannot convert parameter 1 from 'int' to 'char *'

Por favor me gustaria que me lo solucionaseis lo antes posible gracias. :loco:

[ Este Mensaje fue editado por: Leoheart el 2002-06-21 14:26 ]                                
Título: Tengo un problema con C
Publicado por: Astharoth en 01 de Enero de 1970, 01:00:00 AM
                                Hola.


Prueba a cambiar la llamada que haces a la funcion "gets" por la que si has escrito tu "gets2".

"gets" es una funcion de la libreria de C que tiene un proposito y parametros totalmente diferentes a la que has escrito tu :sonriendo:

Saludos, Astharoth.
                               
Título: Tengo un problema con C
Publicado por: synchrnzr en 01 de Enero de 1970, 01:00:00 AM
                                Po zi, más bien parece que te has dejado el 2 de tu gets, lo otro ya parece que lo tengas en cuenta :ojo:                                
Título: Tengo un problema con C
Publicado por: samsaga2 en 01 de Enero de 1970, 01:00:00 AM
                                gets es una función estandard del C que lee una linea del stdin y la mete en un array de caracteres (que es el parametro que te pide un char*).
Como han dicho antes tu funcion la declaras con el nombre de gets2 y llamas a la funcion gets (que no es la tuya).
En situaciones normales el compilador te responde como que no existe dicha función, pero al ser una función estandard del C el compilador cree que es la función estandard la que intentas usar.
                               
Título: Tengo un problema con C
Publicado por: Leoheart en 01 de Enero de 1970, 01:00:00 AM
                                Muchas gracias por ayudarme, ahora luego lo pruebo y os lo comunico. Es que estoy empezando en esto de la programacion y es ke me lio un poco. :ojo:                                
Título: Tengo un problema con C
Publicado por: Leoheart en 01 de Enero de 1970, 01:00:00 AM
                                Ooohh que error mas tonto e tenido estaba llamando a una funcion que existia ahora si que funciona, Thank You :ojo:                                
Título: Tengo un problema con C
Publicado por: Tei en 01 de Enero de 1970, 01:00:00 AM
                                sugerencia:
no hace falta que utilices nombres locales como XX cuando en otras funciones usas X ...como si tubieras miedo de que colisionaran. La funcion que tiene XX jamas podra ver la variable X, asi que podias haber reusado el nombre X, ...es mucho mas seguro conocer realmente el ambito de las variables que andar con estos miedos por el mundo.
de echo, el unico ambito que te debe preocupar desde dentro de una funcion es el global, asi si creas una variable global X tener cuidado de que estas leyendo dentro de una funcion que declare char x;  
Creo que el compilador resuelve esto tomando la X del ambito mas cercano, el local obviamente, asi que la X global en ese caso no se veria.. bla bla bla :riendo:D                                
Título: Tengo un problema con C
Publicado por: fiero en 01 de Enero de 1970, 01:00:00 AM
                                Totalmente de acuerdo con Tei, y además, yo añadiria que utilices nombres en español para tus funciones, así no habrá problema de que utilices el nombre de alguna función propia del lenguaje o librerias, como te ha pasado con "gets"

un saludo