La salida del siguiente progtwig es: hai
No entendí cómo funciona el retorno de carro en este progtwig y, de verdad, ¿alguien puede ayudarme?
#include #include void main() { printf("\nab"); printf("\bsi"); printf("\rha"); _getch(); }
Desde 5.2.2 / 2 (semántica de visualización de caracteres):
\b
( retroceso ) Mueve la posición activa a la posición anterior en la línea actual. Si la posición activa está en la posición inicial de una línea, el comportamiento del dispositivo de visualización no está especificado.
\n
( nueva línea ) Mueve la posición activa a la posición inicial de la siguiente línea.
\r
( retorno de carro ) Mueve la posición activa a la posición inicial de la línea actual.
Aquí, su código produce:
ab
\b
: retrocede un caracter si
: anula la b
con s
(produciendo asi
en la segunda línea) \r
: volver al principio de la línea actual ha
: anula los dos primeros caracteres (produciendo hai
en la segunda línea) Al final, la salida es:
\nhai
El progtwig imprime ab
, retrocede un carácter e imprime sobreescribiendo el b
resultante asi
. El retorno de carro devuelve el cursor a la primera columna de la línea actual. Eso significa que la ha
se imprimirá as
y el resultado es hai
Paso a paso:
[nueva línea] ab
ab
[retroceso] si
asi
[retorno de carro] ha
hai
Retorno de carro, no provoca una nueva línea. En algunas circunstancias, un solo CR o LF se puede traducir a un par CR-LF. Esto depende de la consola y / o la secuencia.