fscanf - scanf dev c++
Los programas con el scanf no funcionan correctamente en NetBeans (6)
Agregue un código de retorno. main()
devuelve un int, así que agrega return 0;
en la parte inferior de su función main()
. En este momento, el valor que se devuelve es basura, y normalmente cualquier valor que no sea 0 indica una falla.
Además, podría considerar hacerlo:
int main(void)
para ser más explícito (aunque no cambiará nada aquí).
He instalado NetBeans 7.0.1 hoy. Cuando trato de ejecutar el programa C con "scanf", está dando errores extraños
Esto es lo que escribí:
Sigue funcionando hasta que ingrese algo en la consola de salida.
Después de ingresar, muestra la instrucción printf y muestra "RUN FAILED".
¿Alguien puede decirme qué debo hacer para hacer esto bien?
Debe devolver 0 al final de la línea principal si no asume que hubo un error.
El programa de CA sin un valor de retorno dará como resultado un comportamiento indefinido (que se considera unánimemente como algo malo ©). Al compilador se le permite rienda suelta en lo que devuelve aquí, parece devolver el resultado de scanf () pero podría estar devolviendo algo de entropía atmosférica para todos los cuidados de C Standard.
En cuanto a la línea que no se imprime, eso se debe a que está utilizando printf () en un terminal con búfer, querrá agregar / n al final. La razón de esto se remonta a las antiguas formas de Unix que hace tiempo que han sido olvidadas por todos menos los sabios de los gurús de Unix.
En cuanto a que no ocurra nada hasta que ingrese algo, eso es porque scanf () bloquea hasta que se reciba la entrada, en caso de que no lo supiera. Es posible utilizar llamadas IO no bloqueantes, pero no estoy seguro de si eso está dentro del alcance de su pregunta. (Por favor, defina "hacer esto bien").
No está devolviendo 0
, lo que indica una finalización exitosa del sistema operativo y no está colocando un /n
nque arrastra /n
en su printf
, lo que hace que la línea no se imprima (stdin se almacena temporalmente):
#include <stdio.h>
int main()
{
int n;
printf("Enter the number:/n");
scanf("%d", &n);
return 0;
}
Su printf no se descarga, por lo que no se muestra hasta que finaliza el programa.
No devuelve explícitamente un valor de main (), por lo que se devuelve el resultado de scanf (), que es 1, que se interpreta como error del programa.
Sí, tengo el mismo problema contigo, y las soluciones en las respuestas no funcionan en mi máquina. Después de buscar, entiendo que este problema es sobre la sección de terminal / consola interna de Netbean. La consola interna no puede ejecutar la función scanf. Entonces usa terminal externo para tu proyecto. Para hacer esto:
- primero haz clic derecho en tu proyecto y selecciona propiedades.
- En esa ventana, seleccione la pestaña "Ejecutar" en la parte inferior.
- allí, hay "Tipo de consola", cambie este tipo de consola de "terminal interno" a "terminal externo".
Eso es todo.