elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  funciones en c
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: funciones en c  (Leído 1,476 veces)
sesiopower

Desconectado Desconectado

Mensajes: 5


Ver Perfil
funciones en c
« en: 23 Marzo 2014, 02:17 am »

hola tengo una duda sobre las funciones.
yo tengo una funcion llamada mifuncion() que devuekve -1 en caso de producirse un error.
mi duda: yo hago la siguiente asignacion:
   if(mifuncion() == -1){
      perror("Error");
   }

¿estaría bien el código o habria que asignarle previamente el valor devuelto por la funcion a una variable?:
     if((variable=mifuncion()) == -1){
        perror("Error");
     }

yo creo que con la primera opcion seria suficiente para saber si en la funcion se produce error.

¿alguien me aclara la duda?


En línea

amchacon


Desconectado Desconectado

Mensajes: 1.211



Ver Perfil
Re: funciones en c
« Respuesta #1 en: 23 Marzo 2014, 02:34 am »

Ambas opciones son correctas.


En línea

Por favor, no me manden MP con dudas. Usen el foro, gracias.

¡Visita mi programa estrella!

Rar File Missing: Esteganografía en un Rar
leosansan


Desconectado Desconectado

Mensajes: 1.314


Ver Perfil
Re: funciones en c
« Respuesta #2 en: 24 Marzo 2014, 08:35 am »

hola tengo una duda sobre las funciones.
yo tengo una funcion llamada mifuncion() que devuekve -1 en caso de producirse un error.
mi duda: yo hago la siguiente asignacion:
   if(mifuncion() == -1){
      perror("Error");
   }

¿estaría bien el código o habría que asignarle previamente el valor devuelto por la función a una variable?:
if((variable=mifuncion()) == -1){
  perror("Error");
}

yo creo que con la primera opción seria suficiente para saber si en la función se produce error.

¿alguien me aclara la duda?

Sí, la primera sería suficiente, pero la segunda como la tienes parece una repetición de la primera. Supongo que lo que querías poner es:

Código
  1. variable=mifuncion();
  2. if((variable== -1){
  3.    perror("Error");
  4. }

¡¡¡¡ Saluditos! ..... !!!!




En línea

rir3760


Desconectado Desconectado

Mensajes: 1.639


Ver Perfil
Re: funciones en c
« Respuesta #3 en: 24 Marzo 2014, 17:55 pm »

la segunda como la tienes parece una repetición de la primera. Supongo que lo que querías poner es:
Código
  1. variable = mifuncion();
  2. if (variable == -1){
  3.    perror("Error");
  4. }
La segunda forma de sesiopower y la que publicas son equivalentes. Se utilizan cuando el valor de retorno de una función (o el resultado de alguna otra expresión) debe utilizarse posteriormente.

Un ejemplo común sucede con la función getchar. Por ejemplo si se deben procesar todos los caracteres de la entrada estándar contando su numero de lineas:
Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int main(void)
  5. {
  6.   int ch;
  7.   int nl; /* numero de lineas */
  8.  
  9.   nl = 0;
  10.   while ((ch = getchar()) != EOF)
  11.      if (ch == '\n')
  12.         nl++;
  13.  
  14.   printf("%d\n", nl);
  15.  
  16.   return EXIT_SUCCESS;
  17. }
En el ejemplo se debe almacenar en una variable el resultado de getchar ya que de no hacerlo no podríamos comparar este con '\n' (para contar el numero de lineas).

Un saludo
En línea

C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
PHP y funciones tcp/ip « 1 2 »
PHP
nacho2003 11 7,487 Último mensaje 21 Septiembre 2006, 00:07 am
por deya
Funciones en php
PHP
Lambda 2 2,537 Último mensaje 14 Octubre 2006, 17:00 pm
por Thaorius
funciones y FOR
PHP
pepelon 4 2,255 Último mensaje 9 Diciembre 2006, 02:49 am
por pepelon
[C] Problema con Struct en funciones que llaman a otras funciones
Programación C/C++
‭lipman 9 23,586 Último mensaje 19 Mayo 2011, 23:39 pm
por Littlehorse
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines