oj平臺上用c語言程式設計時退格 b 無效 那應該怎麼打出退格

2025-07-15 11:20:23 字數 3133 閱讀 8738

1樓:白了少

oj上一般用不到\b,你不會想對檔案使用吧。

2樓:網友

如果\b是ascii的11,8進位的013,那麼,可以用\013表示吧。

3樓:網友

可能是鍵盤問題,這樣的標準鍵不會被重定義的。

在下面的c語言中,退格\b和換行\n同時使用時,為什麼退格就無效了啊,不用換行時,退格有效。

4樓:霜之詠歎調

不用換行時,退格有效。這是因為你退格之後,press any key to continue把》覆蓋了,所以你看起來是刪除了最後乙個》

退格不代表刪除;

#include""

main()

doprintf("\b ");在\b後面加個空格吧,空格把》覆蓋,相當於把最後乙個》刪除了;

另外,你的程式不嚴謹,要是你輸入的數中有相同大小的,你也用》連線?

5樓:網友

這個問題提出的時間非常久了,原提問者估計都不再看這裡的回答了。但我作為初學者也剛剛遇到這樣的疑惑,經@霜之詠歎調99 回答的提點,自己總結出來原因如下:

霜之詠歎調99說:退格不代表刪除,確實是這樣。\b是讓游標退回一格,不是刪除前乙個字元,事實上前乙個字元仍然存在的。

我們在程式最後一行執行\b為什麼能刪除乙個字元呢?是因為程式執行結束後,顯示介面會輸出」press any key to continue「,這行字就會覆蓋游標後面的字元,造成了\b刪除上乙個字元的假象,實際上是」游標倒一格,再輸出新字元覆蓋原字元「的過程。如果在語句「printf("\b");」後加"while(1);"讓程式死迴圈,介面不出現「press any key to continue」就可以直觀的看到最後乙個字元存在,游標是在最後乙個字元前面。

若是\b這樣,執行結果是游標先倒回一格,然後回車換行。那麼前一行的最後乙個字元還是存在的,想用\b刪除最後乙個字元不成功。

若要用\b刪除字元且換行(或後面不再輸出任何內容,包括「press any key to continue」),必須得在\b後輸出乙個新字元,若不需要顯示任何字元就用空格代替,即用空格替換原字元。

6樓:草柏渡

確實無效了。具體理由我也不懂。把退格輸出放入for迴圈裡可知,最後一次(即輸出換行前的乙個退格語句是無效的)。我估計是轉義字元的間的規定吧。

c語言中「\b」,也就是退格該怎麼用呢?

7樓:天雲一號

在c語言中,\b是乙個轉義字元,表示退格,即將當前位置後退乙個字元。簡單理解就是刪除前乙個字元。

下面舉例來具體說明該轉義字元的含義與用法:

char a = "abcdefg";

printf("%c%c%c", a[0], a[1], a[2]);// 輸出abc

printf("%c%c\b%c", a[0], a[1], a[2]);// 輸出ac,即加了\b後就把字元'b'給刪除了,在原來字元'b'的位置寫入了字元'c',即字元'c'相當於後退了乙個字元的位置。

c語言裡%b的退格是什麼意思

8樓:金色潛鳥

c 語言裡沒有 %b 格式。

c 語言裡有 \b --轉義字元。

輸出語句 格式裡 的 "\b" 相當 backspace 鍵 (回退鍵)

printf("abcd\b123"); 相當於抹去 \b 前面 那個 d, 輸出 abc123

printf("abc|\t|\t\b123"); 相當於抹去 \b 前面 那個 \t (tab 鍵),輸出:abc| |123

b' 是字元常量,數值等於 10 進位 8

9樓:風若遠去何人留

%b表示將游標向前(向左)移動一位。

使用%b需要注意:

1 %b不會跨行移動,即如果已經移動到最左,不會移動到上一行,此時%b無效果。

2 %b只移動游標,但不會擦除已經輸出的資料。

以如下幾個例子來理解:

1 printf("asd%bcc");

輸出ascc

其中d的輸出被%b退格,然後被後續的c覆蓋。

2 printf("asd%basdf");

輸出asdasdf

這裡%b沒有效果,因為退格後換行,d並沒有被覆蓋。

3 printf("aaa%basd");

輸出aaaasd%b無效,因為游標已經移動到下一行最左側。

問乙個c語言退格符\b和換行\n的問題

10樓:網友

這和\b與\b沒有根本的關係 而是由於printf("%d*",i);後面的*好導致有符合條件的i就會輸出乙個*

而當最後乙個符合條件的i時就多了乙個*

而\b將多的那個*蓋住了 \b沒有蓋住 你把兩個都去掉就會發現*一直都會多。

c語言程式設計有什麼特殊符號,代表什麼,比如\b代表退格,新手乙個,求知

11樓:匿名使用者

ascii碼值(十進位)

a 響鈴(bel) 007 \b 退格(bs) 008 \f 換頁(ff) 012

n 換行(lf) 010 回車(cr) 013 \t 水平製表(ht) 009

v 垂直製表(vt) 011 \\反斜槓 092 \?問號字元 063

單引號字元 039 \" 雙引號字元 034 \0 空字元(null) 000

ddd 任意字元 三位八進位 \xhh 任意字元 二位十六進位。

關於c語言 轉義字元的退格

12樓:匿名使用者

嚴格地說,不是退一格,面是相當於按一下退格鍵,回到上乙個輸出的字元的起始位置,\t(製表符)是乙個字元,佔8個英文空格位置,所以\b會回到這個製表符的起始位置。

就像你在word中按一下tab鍵輸入了乙個製表符,然後再按一下退格鍵,游標會回車製表符的起始位置,而不是退乙個空格的位置。

13樓:cpp門徒

���c

press any key to continue

就退乙個格啊?你是不是看錯了?我這很正常啊!!!

怎麼用C語言程式設計計算,怎麼用C語言程式設計計算1 2 1 3 1 4?

c語言求以上算式,參考 如下 include int main c語言 分數計算怎麼編 如1 1 2 1 3 1 4 1 n 需要準備的材bai料分別du有 電腦 c語言編譯器。1 首zhi先,dao開啟c語言編譯器專,新建一個初始屬.cpp檔案,例如 test.cpp。2 在test.cpp檔案中...

用c語言程式設計計算,用c語言程式設計 計算s 1 1 2 1 3 1 4 1 5 1 m,其中m由輸入決定

include include include int main printf sum1 lf n sum1 printf sum2 lf sum2 scanf lf sum1 0 sum2 0 printf done n return 0 這裡的sum1可以不看,是1 1 2 1 3 1 n的。s...

C語言程式設計,求助大佬,謝謝,C語言程式設計題讀取時間求助,謝大佬了

include include include int main void else output length 0 printf s n output free input free output return 0 c語言程式設計題讀取時間求助,謝大佬了 字元轉整形抄的簡單應 bai用du 使用到...