[英]Carriage return in C?
以下程序的輸出是: hai
我沒有得到\\r
回車在這個程序中是如何工作的,在真實的任何人都可以幫助我嗎?
#include <stdio.h>
#include<conio.h>
void main()
{
printf("\nab");
printf("\bsi");
printf("\rha");
_getch();
}
從5.2.2 / 2(字符顯示語義):
\\b
( 退格鍵 )將活動位置移動到當前行的上一個位置。 如果活動位置在線的初始位置,則不指定顯示設備的行為。
\\n
( 新行 )將活動位置移動到下一行的初始位置。
\\r
( 回車 )將活動位置移動到當前行的初始位置。
在這里,您的代碼生成:
<new_line>ab
\\b
:支持一個字符 si
:用s
覆蓋b
(在第二行產生asi
) \\r
:回到當前行的開頭 ha
:覆蓋前兩個字符(在第二行產生hai
) 最后,輸出是:
\nhai
程序打印ab
,返回一個字符並打印si
覆蓋b
得到的asi
。 回車符將插入符號返回到當前行的第一列。 這意味着ha
將打印在as
其結果是hai
一步步:
[換行符] AB
ab
[退格] SI
asi
[回車]公頃
hai
回車,不會造成換行。 在某些情況下,單個CR或LF可以轉換為CR-LF對。 這是依賴於控制台和/或流的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.