簡體   English   中英

C中的回車?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM