c語言怎樣字串常量,C語言怎樣字串常量

時間 2021-12-22 08:54:58

1樓:匿名使用者

這樣const char * a = "abc";

2樓:匿名使用者

在c語言中,字串是是一個一個字元連著儲存在記憶體單元中的,所以,要用字元陣列的形式,char a = "kao ni ";這種形式來定義字串常量,關於你說的第二點也是沒有這總形式的,最接近的也是用指標的形式,也就是 char *a = " abc",這種形式,把「abc」字串的首地址付給指標變數a,關於指標的問題,不是一兩句話能解釋的,建議你可以看下相關的書籍。其實這兩種形式輸入換湯不換藥,本質上是一樣的,只是表現形式不相同而已。二者完全等價。

3樓:瑜琅

還可以 char a[4]="abc";

中的數字時字串的長度;

" "中的字串最大可輸入長度為[ ]中的數字 -1,因為字串以 \0 結尾;

" " 的 **意義為 取字串首地址;

4樓:

c++語言中,常量分為兩種:文字常量(literal constant)和常變數(constant variable)。

文字常量又稱為「符號常量」,經編譯之後寫在**區,是不可定址的。而常變數同其它變數一樣被分配空間,是可以定址的。

例如,在visual c++中,語句int i=3;所對應的彙編**為mov dword ptr _i$[ebp],3,其中_i$表示在一幀資料中,變數i距幀指標ebp的偏移量。文字常量3被直接寫在**區,在資料區無法找到它。利用預編譯指令#define定義的常量也屬於文字常量。

常變數由普通變數在前面加const關鍵字而定義。常變數的值在初始化後不能改變,由編譯器所做的語法檢查進行保障。

由於執行時常變數並不是放在只讀記憶體中,而是和一般變數一樣放在資料區,所以在執行時如果能獲得常變數的地址,一樣可以對它們進行修改 。

所以:string a = "abc";

"abc"是

const string b = "bcd";

b是,"bcd"是.

c語言中字元常量與字串常量有什麼區別?

5樓:小哥

字元常量:在c語言中一個字元常量代表ascii字符集中的一個字元,在程式中用單引號把一個字元括起來作為字元常量。大小寫字母代表不同的字常量;單引號中的空格也是;字元常量只能包含一個字元;字元常量只能用但括號括起來。

下面是常用字元的sacii

'a』--'z' 97------122'a』--'z' 65-------90'0'---'9' 48-------57字串常量:字串常量是用雙引號括起來的,在c語言中系統會在每個字串的最後自動加入一個'\0'作為字串的結束標誌。

區別:'z'是字元常量,佔一個位元組;"z"是字串常量,佔兩個位元組,其中一個放'\0'。

它們兩個的用法都明白了,區別就知道了

6樓:壬存邵代雙

字元常量是一個字元,如'a','4','\0','\b','\142'等等,字串常量可以是一個字元"n",也可以沒有字元('\0'),更多的是多個字元。

作為字元常量,二者間沒有區別,在c++中,為了方便,將字串定義成一個類string,但用char

*說明和定義的串常量仍然是一樣的,沒有任何區別。

7樓:like—耳機

首先,它們都是常量,所以不可以被改值。

字元常量永遠是一個個體,也就是它只是一個字元而已。

而字串常量是一個群體,就像人們說的一句話,字串常量中是由若干個字元常量構成的,當然可以沒有,不過系統會給其加一個『\0』,至於為什麼要加,找d.m.ritchie。

就像人們說的話一樣,字元常量是單詞,而每一句話的後面都要加上句號,表示這句話說完了,這個大概是『\0』擬人的一個作用吧,我這麼認為。

另外字元常量其實對於計算機來說是一個二進位制數,也就是它是一個數值,所以你可以對一個字元常量來進行邏輯運算,比如『b』 - 『a』 = 1。

字串常量是話語,作為條件的判斷以及顯示器輸出的物件。

祝你好運~

8樓:匿名使用者

字元常量可以用%c的格式或putchar函式輸出,字串常量不可以,另外在記憶體中佔得位元組不一樣

9樓:微雨31初霽

字元常量是一個字元,在程式中字元是用單引號括起來的。字元常量由0個或若干個字元組合而成,在程式中字串是用雙引號括起來的,在儲存時系統自動在字串最後面加一個結束符"\0"

10樓:月光下的日軍

都是常量,不能修改,區別是字元常量是一個字元,用『 』單引號,而字串常量用雙引號,如「a」,雖然是一個字元,但他是字串常量。

在c語言中,是非法的字元常量

11樓:墨汁諾

b(是一個字串常量)

\17的ascii碼是15,\是轉義字元,後面的數字是八進位制。

(17)8=(1*8+7)10=(15)10括號後面的數表示進位制。

確實\xaa是十六進位制的一種表示形式,代表一個字元常量,\17是八進位制的表示形式。 \t和\n都是轉義字元: \t表示tab,也是字元常量。

\n就有些糾結了,它也是轉義字元,如果理解為換行符,它就是字元常量,如果理解為回車換行符,那它就表示兩個字元,不是字元常量了。

c語言中'abc'是字串常量麼??

12樓:

如果字元常量裡有多個字元,只有最後8位有效

13樓:楚樑樑

應該不能這樣,要是字串的話應該是"abc」,字串用雙引號,字元用單引號,如'a'

14樓:

字串是用英文雙引號表示的,"abc"是字串常量。

15樓:李磊

這種語法根本過不了編譯器,是錯誤的定義方法,正確的字串應該為雙引號括起來,單引號括起來一個字元表示一個字元常量。

16樓:眼眶的溼潤

如果你寫的是const char *p="abc";才是字串常量

常量要用const定義,並且字串是用雙引號表示的。

希望對你有幫助,望採納謝謝。

17樓:德克and德華

不是字串常量,而是一個int常量,它的數值可用十六進位制表示為0x616263

18樓:gis廣益

不是字串常量得用「」括起來

19樓:匿名使用者

'abc'好象沒見過。

20樓:闊氣剋剋

c語言中,字串常量一定是用雙引號給出的,單引號是不行的,單引號只能用來給出字元常量,如果是表達字串常量的話,就是"abc",使用單引號的話只能單獨表達一個字元,比如'a'。

另外如果在c語言中使用字串常量賦值給指標變數的時候,推薦使用const修飾符,這樣避免後續程式設計的時候產生不必要的麻煩:

char* const str = "abc";

不過要注意的是const char* str = "abc";與上面宣告之間的區別,這個表達指標變數本身是常量,而不表示字串是常量,不過這是另一個問題了,如果感興趣可以自己再查閱相關資料。

c語言中如何輸出各種常量?

21樓:風若遠去何人留

c語言輸出常量和輸出變數是相同的。均可以用printf帶各種格式符號執行輸出。

常用的型別包括:

1 整型,int, 使用格式為%d;

2 短整型,short, 使用格式為%h;

3 長整型,long, 使用格式為%ld;

4 字元型,char, 使用格式為%c;

5 字元指標型,char *, 使用格式為%s;

6 單精度浮點型,float, 使用格式為%f;

7 雙精度浮點型,double, 使用格式為%lf。

22樓:吉祥二進位制

自己看看百科裡面關於printf函式的引數說明就可以了。

輸出指說用 %e引數 ,輸出整數用%d 輸出無符號整數也就是類似1234u這樣的無符號整數常量,末尾帶u的,可以用%u引數,輸出指標用%p

23樓:追dream的腳步

c語言中不能這樣(printf("%d",123e4))輸出10的多少次方,只能輸出1230000這樣的數字,也就是說不能直接用科學計數法輸出一個常數。

24樓:匿名使用者

主要格式化字串就行

c語言中'a=0'為什麼不是字元型或字串常量

25樓:

單引號''只能表示一個字元,例如'a','=','0',表示的是在記憶體中佔一個字元長度的值,"a=0"在記憶體中佔四個字元長度,是個字串,應該用雙引號,字串常量用雙引號表示的

c語言中字串常量和字元常量的區別

26樓:言浠惜

字元常量是單引號中的,在ascii表中有對應編號,字串是雙引號中的,

27樓:匿名使用者

單引號是字元常量

雙引號是字串常量

28樓:孝詠勞安安

字串常量是一個或多個字元組成的常量

比方說一個字串常量a

給它的初始值是

『abc123』,可以是一個字元『5』構成但是字元常量只能是一個字元

比方說一個字元常量

a它的初始值為『1』,不能多於一個字元的

c語言字串常量的一個問題。

29樓:匿名使用者

字串bai遇到\0表示結束

第一個字du符串就相zhi當於dao"abc123",那版麼長度為6

第二個字串就相當於"abc",那麼長度為3但是實際操作權發現並非如此,如下程式:

#include

;memcpy(c1, "abc123\01de\n", 0x20);

printf("%s\n", c1);

char c2[0x20] = ;

memcpy(c2, "abc\09de\n", 0x20);

printf("%s\n", c2);

printf("%d\n", strlen(c1));

printf("%d\n", strlen(c2));

}第一個字串並不能正確識別"\0",而是將"\01"看做一個字元,"\n"是一個字元,表示換行,這個你應該知道,結果第一個字串長度為10

第二個字串可以正確識別"\0",所以第二個字串長度為3

c語言怎樣擷取字串的最後字元,c語言,怎樣擷取一個字串的最後一個字元?

靠譜的星爺 這個原型宣告沒有問題,傳遞進去一個字串,起始字元的位置,以及擷取的長度。按照這個意思 來寫最後是沒有問題的。返回值為字元型指標可以在這個函式裡面宣告一個字元陣列,最後將這個 字元陣列返回。include stdio.h include string.h main 陳學陽 2維陣列在記憶體...

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

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

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

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