Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: mort en 4 Enero 2015, 01:39 am



Título: problema con el especificador de conversion %d en c
Publicado por: mort en 4 Enero 2015, 01:39 am
el problema es que no entiendo por que me marca "codigo fuente no compilado" el dev c++.
es decir, me voy a explicar, porque cuando pongo:
 
                                     printf("%d%d%d%d\n", 1, 2, 3, 4);

si me compila bien, me imprime "1234", pero cuando intento hacer lo mismo mediante cuatro instrucciones printf, es decir:

printf("%d", 1);
printf("%d", 2);
printf("%d", 3);
printf("%d", 4);

 me aparece : "codigo fuente no compilado"
 otra cosa es que si le agrego la secuencia de escape \n a la ultima instrucion, si me compila bien:

printf("%d", 1);
printf("%d", 2);
printf("%d", 3);
printf("%d\n", 4);

pero situandome en otro contexto en el que solo quiero imprimir un numero, es decir, si hago esto:

printf("%d\n", 1);

no me funciona tenga o no la secuencia de escape \n.
aqui mi duda es porque pasa esto, cual es la diferencia entre poner:

printf("%d%d%d%d\n", 1, 2, 3, 4)
o
printf("%d\n", 1)

por que el primero si me compila tenga o no la secuencia de escape \n y el otro lo tenga o no lo tenga me marca: "codigo fuente no compilado"

¿tiene que ver la cantidad? o ¿ es error de mi computadora o del compilador?
 


Título: Re: problema con el especificador de conversion %d en c
Publicado por: rir3760 en 4 Enero 2015, 02:18 am
¿ es error de mi computadora o del compilador?
Del compilador ya que imprimir mediante una sola llamada a printf o varias no debe generar ningún error. De todos modos y solo para estar seguros deberías publicar el código fuente completo.

Un saludo


Título: Re: problema con el especificador de conversion %d en c
Publicado por: Yoel Alejandro en 4 Enero 2015, 02:58 am
Sí, publica el código completo porque la verdad todo está bien, no tendría por qué arrojar un error  :huh:


Título: Re: problema con el especificador de conversion %d en c
Publicado por: mort en 4 Enero 2015, 04:17 am
aqui esta, este programa me compila bien  :)

#include <stdio.h>

int main ()
{
   printf("%d%d%d%d\n", 1, 2, 3, 4);
   
   return 0;
}

este otro no  :-\

#include <stdio.h>

int main ()
{
   printf("%d\n", 1);
   
   return 0;
}
no entiendo que pasa, me lanza un mensaje de advertencia y me dice "codigo fuente no compilado"


Título: Re: problema con el especificador de conversion %d en c
Publicado por: rir3760 en 4 Enero 2015, 16:12 pm
me lanza un mensaje de advertencia y me dice "codigo fuente no compilado"
En ese caso por favor publica el mensaje de advertencia completo.

Un saludo


Título: Re: problema con el especificador de conversion %d en c
Publicado por: mort en 4 Enero 2015, 22:26 pm
Ese es el mensaje de advertencia completo.
Aparece en una ventana pequeña y solo me da la opción de presionar "ok", al final no puedo compilar, y no me dice dice el porque, (También el antivirus me avisa que se detecto una amenaza y que ya no se requieren mas acciones, cosa que no me sorprende porque mi antivirus tiene problemas, todos los días le pasa lo mismo en donde sea) incluso el panel de abajo que muestra los resultados no muestra ningún error.


Título: Re: problema con el especificador de conversion %d en c
Publicado por: engel lex en 5 Enero 2015, 07:39 am
lo unico que se me ocurre es que por alguna razon está haciendo una violacion de memoria o tomando algo que no debería y el av para el compilador, el IDE te avisa que no fue compilado, deten el av e intenta compilar


Título: Re: problema con el especificador de conversion %d en c
Publicado por: mort en 8 Enero 2015, 08:29 am
Otra cosa:
Este error no me sucede cuando ejecuto el Dev C++ como administrador, pero si como invitado.

lo unico que se me ocurre es que por alguna razon está haciendo una violacion de memoria o tomando algo que no debería y el av para el compilador, el IDE te avisa que no fue compilado, deten el av e intenta compilar

Disculpa mi ignorancia, pero no se  que es el av,ni  tampoco se como detenerlo.
 


Título: Re: problema con el especificador de conversion %d en c
Publicado por: engel lex en 8 Enero 2015, 08:43 am
ahh sorry... av = antivirus