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

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  cual es el error en este codigo en el lenguaje de programacion c??
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: cual es el error en este codigo en el lenguaje de programacion c??  (Leído 917 veces)
fedemaxrul

Desconectado Desconectado

Mensajes: 9


Ver Perfil
cual es el error en este codigo en el lenguaje de programacion c??
« en: 18 Noviembre 2016, 00:28 am »

hola, es un programa simple, al compilarlo y ejecularlo me tira estos errores.
warning statement with no effect -wunused-value-
note in expansion of macro 'MACRO'

Código
  1. #include <stdio.h>
  2. #define MACRO(a,b)    for(a;a<b;a++)
  3. int main()
  4. {
  5.    MACRO(0,100)
  6.    {
  7.        printf(".\n");
  8.    }
  9.    return 0;
  10. }
  11.  


Mod: Los códigos deben ir en etiquetas GeSHi


« Última modificación: 18 Noviembre 2016, 01:26 am por engel lex » En línea

4dr14n31t0r

Desconectado Desconectado

Mensajes: 85



Ver Perfil
Re: cual es el error en este codigo en el lenguaje de programacion c??
« Respuesta #1 en: 18 Noviembre 2016, 00:38 am »

Si sustituyes la macros por lo que vale, veras el error enseguida:
Código
  1. #include <stdio.h>
  2. #define MACRO(a,b)    for(a;a<b;a++)
  3. int main()
  4. {
  5.    MACRO(0,100)
  6.    {
  7.        printf(".\n");
  8.    }
  9.    return 0;
  10. }
Si sustituyes la MACRO queda asi:
Código
  1. #include <stdio.h>
  2. int main()
  3. {
  4.    for(0;0<100;0++)
  5.    {
  6.        printf(".\n");
  7.    }
  8.    return 0;
  9. }

Debes tener en cuenta que la directiva de preprocesador #define sustituye tal cual lo que vale. Probablemente hayas pensado que le asigna a la variable 'a' y 'b' los valores '0' y '100', pero lo que realmente hace es sustituir tal cual esos valores a medida que se los encuentra en el codigo tal y como te he mostrado.
Obviamente no puedes usar el operador ++ con un numero. Tienes que usar una variable. De todos modos no entiendo que tiene que ver el mensaje de error que te lanza el compilador con esto.

PD: Usa las etiquetas GeSHi cuando escribas codigo.


« Última modificación: 18 Noviembre 2016, 00:44 am por 4dr14n31t0r » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines