C/Visual C - Funciones en C

 
Vista:

Funciones en C

Publicado por Serguei (15 intervenciones) el 07/09/2005 06:53:35
Gracias de antemano, me estoy pasando de Pascal a C, pero no he podido declarar bien las funciones para después llamarlas en mi main(), lo que me trunca ahora es eroor de sintaxis
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Funciones en C

Publicado por fernando.gomez (1603 intervenciones) el 07/09/2005 21:54:15
Pues creo que sería bueno que nos dieses un ejemplillo. Las funciones no tienen mayor complicación:

[modificadores] [tipo retorno] [nombre funcion]([param1] [,...])
{
}

por ejemplo:

int Cuadrado(int iNum)
{
return iNum*iNum;
}

Nota que el siguiente código te mandará un error:

int main()
{
int iNum = 0;

iNum = Cuadrado(5);
printf("Cuadrado de 5: %d", iNum);

return 0;
}

int Cuadrado(int iNum)
{
return iNum*iNum;
}

Este código te mandará un error de enlazado, y te dirá que no encuentra a la función Cuadrado. Esto es porque Cuadrado se definió después de main. Para evitar esto, tienes o bien que definir Cuadrado antes de main, o incluir el prototipo de la función:

int Cuadrado(int iNum);

int main()
{
int iNum = 0;

iNum = Cuadrado(5);
printf("Cuadrado de 5: %d", iNum);

return 0;
}

int Cuadrado(int iNum)
{
return iNum*iNum;
}

Así ya funciona (quizás ese sea tu problema). Es buena idea que si una función la empleas en diferentes lugares, inlcuyas en el archivo de encabezado, el prototipo de la función.

Salutes.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Funciones en C

Publicado por Serguei (15 intervenciones) el 09/09/2005 07:03:22
por qué estas líenas de prueba me da error el compilador en la linea 4?

#include <stdio.h>
#include <conio.h>

int suma (int a,b,c) //Lo da justamente en la variable ´c´, me dice que hacen falta los parentesis derechos??
{
return a+b+c;
}

main(){
int a,b,c;
printf("Indique tres variables\n");
scanf("%d" "%d" "%d",&a ,&b ,&c);
printf("la suma de los numeros es: %d",/*suma(*/a,b,c/*)*/);
return 0;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Funciones en C

Publicado por JoseGR (41 intervenciones) el 09/09/2005 08:58:53
En la declaracion de funciones, cada argumento debe tener expecificado su tipo.

int suma (int a, int b, int c)
{
...
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar