c 表示字串時哪些字元需要轉義

時間 2025-05-11 12:25:06

1樓:夏侯蕊茹汝

我想你想要問的是使用c-style的字串,並使用sizeof()函式計算字串長度時,計算出來的長度是多少?

答案是16並且有結束符\0,該結束符也佔記憶體空間。

請參考下述「一、c風格的字串」一節。

一、c風格的字串:

c風格字串是一串連續的記憶體,末尾以'\0'。

1、標準c++規定,乙個char型字元的長度為1。

2、c++編譯器會為每乙個c風格的字串常量的末尾自讓姿動增加『\0』結束符。

自動增加的'\0'也佔記憶體空間的。

因此,"this\'s

abook.",會被編譯器修改為"this\'sabook.\0」,一共有16個字元,長度為16。

你可以在c++的main函式中用指滑啟如下語句測試:

printf("%d",sizeof("this\'sabook."))

chararr

this\'s

abook.";

printf("%d",sizeof(arr));

將會發現輸出的長度為16。

二:string類。

微軟的vc++中實現的string類,唯如不同於c風格的字串。

它只會管理各個字元,不會自動增加乙個結尾字元。

因此如果你用string::size()或者string::length()計算其長度的話,會與c風格字串長度不同。

string

strthis\'s

abook.";

printf("%d",將會輸出15。

因為str物件管理著15個字元。

2樓:言長青管戌

這中方式的確存在問題,編譯器是把\x21後面的c也當做是十六侍悶進位轉義字元的一位進行計算了,所以會出現too

bigcharacter的報錯,如果\x21後面的字元不是寬畝十六進位當中的任何一位都沒有問題,你可以試一試!或者放老巧彎在最後都沒有問題!

什麼是轉義字元;在c語言中起什麼作用?

3樓:學雅思

轉義字元是很多程式語言、資料格式和通訊協議的形式文法的一部分。對於乙個給定的字母表。

c中轉義字元的目的是開始乙個字元序列,使得轉義字元開頭的該字元序列具有不同於該字元序列單獨出現時的語義。

c語言中定義了一些字母前加"\"來表示常見的那些不能顯示的ascii字元,如\0,\t,等,就稱為轉義字元,因為後面的字元,都不是本來的ascii字元意思了。

4樓:網友

轉義字元指用一些普通的字元組合代表一些特殊的字元,由於組合用的字元改變了原意,稱為轉義字元。轉義字元包括:\a 響鈴 換行 \t 橫向跳格 \v 向下跳格 \b 退格 回車 \\反斜格\

代表雙引號 \' 代表單引號 \ddd 一到三位八進位數 \xhh 一到二位十六進位數。

pintf("%d\t%d%d%d%d\t\b%d",x,y,z,z,y,x);

這行**中的%d是輸出相應變數的值,其餘的是轉義字元。

5樓:網友

為了保留它原有的意義一般是'\'後面加乙個標記代表換行, \t是製表符, \b是退格, 比如你想列印出類似""的符號, 但是printf會當做它的一種格式就可以printf("\"***"");輸出""符號了;

6樓:鑽時封芯

轉意字元就是,這個字元原來就有它本來的意思,而在某些情況下賦予它其它的含義,如你這段**中的代表換行。

c語言刪除字串中的字元,C語言 刪除字串中指定的字元

受災 這個容易,就是把指定位置的字元去掉,也就是說後面的字元覆蓋比如刪除指定的字元在字串中第一個出現的位置void strdel char str,char ch if p 希望能解決您的問題。 微俊 include include int main s i 0 printf input a cha...

c語言,字串,C語言中,字串是什麼?

c語言中,字串是什麼?位操作運算都只能是整形或字元型,字元型實際是單位元組整形。包括以下幾個操作符 按位與 按位或。按位異或。左移 右移 另外還有一個取餘操作 a b的意思是,a除以b,取餘數。這個是c語言的硬性規定,位操作都是正數按照二進位制進行表達的時候才有的概念 而取餘操作是整數相除得餘數,餘...

c語言反轉字串怎麼反轉,C語言反轉字串怎麼反轉?

讀取字串,瀏覽字串每一個字元,如果是空格就輸出空格,否則就儲存當前位置,從當前位置移動到下一個空格或字元尾前,從當前位置開始反向輸出,直達回到儲存的位置最後輸出回車,結束 以下是c語言版的,需要的話,可以看看 include include include define string maxsize...