關於c語言字元型,C語言中關於字元型變數。

2022-03-09 07:41:08 字數 4470 閱讀 9676

1樓:匿名使用者

關於printf("%c"a[i]);(如果把他換成printf("%s",a[i]);為什麼不能編譯?

回答: 編譯應該沒問題, 只是執行時必定錯誤.

字串指一串連續的字元型的儲存域. c語言的字串在操作時一般以0值字元標誌字串的尾字元(佔一個字元的儲存域,但不計入字串長度).

"%c"應該對應於字元型變數(當然字串中的一個字元也可以);"%s"應該對應於一個指向字串的指標變數.執行printf("%s",a[i]);時, 程式把字元a[i]的值作為字串指標來使用,當然就發生錯誤了. 如果寫成printf("%s",a)甚至printf("%s",&a[2])都是正確的.

另外, 用"%s"不用使用for迴圈, 一個printf("%s",a)即可輸出一個以空字元(0)結尾的字串; 而用for迴圈加printf("%c",a[i])的方式, 則是以字元方式輸出a這個字元陣列中全部10個字元, 即使這些字元不構成以空字元(0)結尾的字串.

由此看來字串必定是字元陣列, 而字元陣列裡儲存的不一定是字串. 字元陣列裡每一個元素都可以取-128~127的值, 無符號字元陣列裡每一個元素都可以取0~255的值. 而c語言中的字串所取的值是以0標誌結束的一串非零字元(即-128~-1, 1~127; 對應於無符號字元是1-255; 大多在可列印字元和有限的控制字元範圍內取值).

2樓:匿名使用者

你想要做的是

一次性讀進全部字元存入a

然後顯示把

那麼如下就行:

char a[10]; int i;

scanf("%s",a);

printf("%s",a);

3樓:匿名使用者

a[i]的意思是陣列a的第i個元素

printf("%s",);是輸出陣列形變數,所以出錯

4樓:匿名使用者

c語言裡字串和char *型別可以看作等價。

%c對應char型,%s對應char *型。

5樓:介康安

有區別我n年沒看c語言了

模糊記得字串是以某個特殊字元結束的,而字元型則不是

查一下書,應該都有介紹

6樓:匿名使用者

樓上所說正確

在c語言裡是沒有字串變數型別的

7樓:

因為 a[i] 是字元型變數 ...

c語言中關於字元型變數。

8樓:匿名使用者

因為字元都是用ascii碼錶示的,所以每個字元都對應一個數字,範圍從0-127.超多這個範圍會出錯

9樓:匿名使用者

正整數賦值實際上是以ascii碼的形式賦值

你可以查ascii碼錶,某個範圍內是正常字元

負整數賦值的話按溢位處理,溢位最後剩下的部分當作ascii碼。

10樓:匿名使用者

因為字元型變數佔8位二進數的空間,表達範圍為2的8次方(0-255),對於有符號型安符變數則為(-128-127),只要在這個範圍內的數值都可以用字元型變數,這裡你可能存在誤解,以為字元型變數就是普通字元,它只是儲存空間的概念。定義普通字元可用''括起來.

11樓:

a=48,printf(「%c」,a)

a='0',printf(「%c」,a)

48是字元0的asii碼值,比如a的asii碼值就是65。asii碼沒有負值。

舉個例子:把數字8轉化成字元型8,8+48或者8+'0'都可以。

常用字元與asii**的對照表。

12樓:高金山

c語言中的字元變數其實就是8位的整型變數,所以可以對它進行正整數賦值要得到正常的字元,必須賦值給它正常字元所對應的整數值每個字元對應的整數的數值,可以參見ascii碼錶由於char是8位的,若超過8位所表示的範圍,比如太大(超過255),會溢位的。

char型別的可以賦負值,unsigned char賦負值的話,會把負數當成很大的整數的

關於c語言中的字元比較!!

c語言中字元型和字串型的區別?

13樓:滄海雄風

char a;  //字元型 只能接收一個字元

char a[10] //字串型 可以儲存十個字元

14樓:蒲青亦洪璟

字元型一般只能存放1個字元,字串可以存255個以內數量字元,字元陣列可以存放n格字元(數量自己定,但不能超過pascal語言的預設數量)

15樓:匿名使用者

字元型是單bai個字元字元du串是由字元型的單個zhi字元所組成的集合dao。字串回在c語言中表示為字答符型陣列哈。c語言中並沒用字串這種資料型別。

你用的編譯器是c++的,所以就有了字串這樣的型別哈。字元型在c中規定死了是一個位元組。而字串是多個位元組的。

16樓:匿名使用者

1、定義方式不相同字元:char c字串:char* s2、長度不相同,字元型只有一個字元,字串的長度大於等於1字元:

char c = 'w'字串:char* s = "wwww"

17樓:匿名使用者

字元型 是單個字元 後面沒有0 結尾 字串型 後面是有0結尾的

18樓:

容質與int相同,只是只有一個位元組。表示字元的ascii編碼使用其中的0~127,所以要明白字元型別(char)其實是一個一位元組整型,並不只用來表示字元。由於c中沒有字串型別,所以在處理字串時是利用字元型陣列來實現的,在字元型陣列中一個接一個地儲存字元的ascii編碼,並在最後一個字元後加一個'\0'表示這一串字元結束了,就形成所謂「字串」。

19樓:米嵐

字元是單個字元例如'a'

字串是字符集合像"asdfasdf"

c語言中字元型變數只能存放一個字元嗎?。。 200

20樓:教育仁昌

c語言中的字元型變數是存放字元型常量的變數,其取值是字元型常量,即單個字元,不能是字串。字元型變數的型別說明符是char。每個字元變數被分配一個位元組的的記憶體空間,因此只能存放一個字元。

字元值是以ascⅱ碼的形式存放在變數的記憶體單元之中的。

21樓:最亮眼de一顆星

char 型別 只能存放單個字元或字元常量( ascii 值) :

char c='a' 或者 char=65

表示將英文字母"a"儲存在 char 型變數 c 中

22樓:匿名使用者

是的,例如 'r'。如果想存多個字元,應使用字元陣列 (char s[100]) 或字元指標 (char *s) 。如果想得到字母,應將其減去 'a' (ch - 'a') 。

當然了,你也可以認為他是整數。

23樓:天選之徒啊

字元,也是一個數值,你用來存數值也行,不過不能太大,否則溢位

24樓:匿名使用者

當然是啊,要不為啥叫字元型呢

在c語言中,用關鍵字什麼定義字元型變數

25樓:

在c語言中,用關鍵字char定義字元型變數。

char用於c或c++中定義字元型變數,只佔一個位元組,取值範圍為 -128 ~ +127(-2^7~2^7-1)。c語言中如int、long、short等不指定signed或unsigned時都預設為signed,但char在標準中不指定為signed或unsigned,編譯器可以編譯為帶符號的,也可以編譯為不帶符號的。

26樓:

char ch; //定義 單個字元變數如字元'a'

char str[20]; //定義一個長度為20的字元陣列(字串)如字串"hello world"

27樓:匿名使用者

用 char a="a 來定義單個字元。

加入標頭檔案 ,可以用 string a='asdf'; 來定義字串

28樓:

如果是c語言直接用char

如char a;

如果是c++的話有兩個,分別是char 和string如char a;//單個字元

string str;//一個字串

29樓:匿名使用者

字元型變數用char來宣告,如 char c;

30樓:

找本好書吧,先自己看了再問比較好,這知識點書上都有的。

31樓:匿名使用者

char c = 'a';

關於C語言中中的規則,關於C語言中和的用法

如果你的函式裡用的是指標形式,那麼在你的函式呼叫的時候就要用 形式了,具體你參考譚浩強的c語言書,裡面有更全的解釋,不好,還望採納 關於c語言中 和 的用法 和 都是邏輯表示式裡常用的,一般用法是 if 表示式1 表示式2 或者 if 表示式1 表示式2 表示 或 滿足其中一個,整個表示式就為真,就...

C語言中什麼是字元型資料?如何宣告

char型別 一半情況下佔用8位,分為signed和unsigned,在計算機中全都以ascii值表示,signed char 有符號字元型 長度 位元組 為1 128 127 unsigned char 無符號字元型 長度 位元組 為1 0 255 書中基本只給到0 127 char c a ch...

C語言特殊字符集有哪些 C語言中的特殊字符集

屬於 c 語言中的操作運算子,如下圖所示 按位與 比如3 2 2相當於 求餘數,比如3 2 1 按位右移 比如3 1 1 0000 0011 1 0000 0001 低位移除,高位補零。按位左移,比如1 1 2 0000 0001 1 0000 0010 高位溢位,低位補零。比如象 這些根本不叫字元...