Soy novato y no entiendo cuanto un salto de linea se ejecuta y cuando este es guardado como caracter y no se ejecuta.
#include <stdio.h>
main()
{ // programa sin limpiar buffer
float precio=0; char car=0;
printf("precio ");
scanf("%g",&precio);
//ahora al apretar intro me queda
//dentro del buffer un salto de linea (\n) y
//al mismo tiempo se ejecuta un salto de linea
printf("pulse entrar para continuar ");
scanf("%c",&car);
//ahora al volver apretar intro me queda
//dentro del buffer dos saltos de linea(\n\n)
//el segundo salto de linea introducido
//es leido como un caracter y no es ejecutado
printf("precio=%g,\n",precio);
//ahora en el buffer nos queda un salto de linea(\n)
//resultado:
//precio: (entrar 10 + pulsar intro)
//pulse entrar para continuar (pulsar intro) precio=10
//////////////////////////////////////////////////////////////
//programa limpiando buffer
float precio=0; char car=0;
printf("precio ");
scanf("%g",&precio);
//ahora al apretar intro me queda
//dentro del buffer un salto de linea (\n) y
//al mismo tiempo se ejecuta un salto de linea
fflush( stdin);
//ahora el buffer esta vacio
printf("pulse entrar para continuar ");
scanf("%c",&car);
//ahora al volver apretar intro me queda
//dentro del buffer hay un salto de linea(\n)
//Y este salto de linea deberia ser leido como un
//caracter y no ser ejecutado
//en cambio, no se por que si es ejecutado
//lo que quiere decir que no es leido como caracter.
//lo que significa que en el buffer nos queda un (\n)
//Porque??????????????????????????
printf("precio=%g,\n",precio);
//resultado
//precio: (entrar 10 + pulsar intro)
//pulse entrar para continuar (pulsar intro)
//precio=10
}