1樓:
因為字元變數在記憶體中存放的是其對應的ascii值,比如說字元『a』,它的ascii值是97。
char ch='a';
printf("%d",ch);
輸出版結果就是97了。所以權對於字元變數你也可以這樣理解:它是單位元組的整型變數。所以當然可以對一個字元變數賦值一個1啊。
2樓:擦擦設定
有一個東西叫ascll碼。bai
就是說du在這裡的每一個字zhi符都有對應
的無dao符號整形數值。從0-255共256個。剛剛好是版一權個位元組,就是一個char型變數的位元組數。
例如printf("%c%d",a,a);
會輸出 a,65。其實65這個整形數在ascll碼裡面表示的就是a,在c語言中,它們只是顯示出來不同而已。
所以你給一個char變數賦值1的話,根據ascll表,也有相應的字元。所以能輸入。
但是注意的是:ascll只有0-255的範圍。所以你要是輸入一個不再這個範圍內的數字的話,是錯誤的。
c語言中為什麼用巨集定義一個字元常量(一個字母)可以賦值給字元變數?
3樓:匿名使用者
1、因為巨集定義實質是一種替換,雖然看起來是字元,實際上最終是被替換成其他常熟或者值。
2、巨集定義中的識別符號都採用大寫,這是程式設計中一種約定俗成的習慣:
1)巨集替換不做語法檢查,所以在使用的時候要格外小心2)巨集替換通常在檔案開頭部分,寫在函式的花括號外邊,作用域為其後的程式,直到用 問好
3)# u n d e f 命令終止巨集定義的作用域4)不要在字串中使用巨集,如果巨集名出現在字串中,那麼將按字串進行處理.
4樓:關韶侍荏
因為巨集是一個簡單替換,所以c語言中用巨集定義一個字元常量(一個字母)可以賦值給字元變數。實質是在編譯之前會把巨集替換掉,然後再編譯。
例如:#define a 5
void main()
在編譯之前a已經被替換成5了,所以就可以賦值給num。
c語言中為什麼用巨集定義一個字元常量(一個字母)可以賦值給字元變數,
5樓:匿名使用者
1、因為巨集定義實質是一種替換,雖然看起來是字元,實際上最終是被替換成其他常熟或者值。
2、巨集定義中的識別符號都採用大寫,這是程式設計中一種約定俗成的習慣:
1)巨集替換不做語法檢查,所以在使用的時候要格外小心2)巨集替換通常在檔案開頭部分,寫在函式的花括號外邊,作用域為其後的程式,直到用 問好
3)# u n d e f 命令終止巨集定義的作用域4)不要在字串中使用巨集,如果巨集名出現在字串中,那麼將按字串進行處理.
6樓:匿名使用者
因為巨集是一個簡單替換,所以c語言中用巨集定義一個字元常量(一個字母)可以賦值給字元變數。實質是在編譯之前會把巨集替換掉,然後再編譯。
例如:#define a 5
void main()
在編譯之前a已經被替換成5了,所以就可以賦值給num。
7樓:匿名使用者
漢字根據編碼方式不同,所佔的大小2~4個位元組不等,漢字賦值給字元變數,只顯示第一個位元組,出問號就不奇怪了
用漢字賦值給字元數陣列然後在顯示的話,一定要考慮編碼方式問題,你的終端支援哪種就選擇哪種,否則亂碼
8樓:匿名使用者
#define namehello "wendy"
#include
#include
void main()
9樓:匿名使用者
c裡面不支援漢子,你用vc++6.0試試,那個可以顯示漢子
c語言中為什麼用巨集定義一個字元常量(一個字母)可以賦值給字元變數,
10樓:別野雪巢梧
因為巨集是一個簡單替換,所以c語言中用巨集定義一個字元常量(一個字母)可以內賦值給字元變數。實質容是在編譯之前會把巨集替換掉,然後再編譯。
例如:#define a 5
void main()
在編譯之前a已經被替換成5了,所以就可以賦值給num。
11樓:佟佳成和榮愉
漢字根據編碼方式不同,所佔的大小2~4個位元組
不等,漢字賦值給字版符變數,只顯示權第一個位元組,出問號就不奇怪了
用漢字賦值給字元數陣列然後在顯示的話,一定要考慮編碼方式問題,你的終端支援哪種就選擇哪種,否則亂碼
12樓:銳語夢戰靖
字元常量是
copy用單括號括起來的一個bai字元。
有兩種du表示方法:
一種是用zhi該字元的圖形dao
符號,如'b'
,'y','*'。
另外還可以用字元的ascii碼錶示,即用反斜符(\)開頭,後跟字元的ascii碼,這種方法也稱為轉義序列表示法,具體方法是:有兩種形式:
一種是用字元的八進位制ascii碼,表示為:\ddd這裡,ddd是八進位制值。
另一種使用字元的十六進位制ascii碼值,表示為\xhh
這裡hh是兩位十六進位制值。
如:'a'
,'\101'
和'x41'都表示同一個字元常量。
轉義序列表示法還可以用來表示一些特殊字元,用來顯示特殊符號或控制輸出格式。
下面是常用的特殊轉義字元。
c語言中,怎麼樣定義一個字串變數
13樓:魔劍
c語言沒有字串型別,所以沒辦法進行定義字串變數。
但是可以用字元陣列來處理字串。(這定義了一個字元陣列,名為a)例:char a = "hello";
也可以用來定義一個指標變數(定義了一個指標變數,名為p)。
例:char *p = "hello";
接觸c語言幾天。。查了一些資料是這樣理解的,有不對的地方一起學習啦。
14樓:高_婷婷
一維的情況如下:
char string0[10];
char string1="prison break";
char string2[100]="michael scofield";
第一句表示定義個長度為10的字串,但未
賦值;第二句表示定義了一個字元陣列string1,並進行初始化,使得其長度自動為13(字串」prison break"中的字元個數加上結尾的'\0');
第三句定義了一個有100個元素的字元陣列string2,並初始化了17個元素("michael scofield";加上結尾的'\0')。
二維的情況如下:
char string3[6][30];
char string3[6][30]=;
此句表示有6個字串,每個字串的長度為30,每個字串的初始值與「joy"、"phosee"、"monses"、"chandele"、"ross"、"rather"相對應。
15樓:匿名使用者
在c語言中,字串是由字元陣列表示的。同時,字元指標也可以理解成為字串。所以,定義字串變數就是定義字元陣列或字元指標的過程。
1 定義變數字串。
char str[200];
定義一個長度最大為200字元的字串。
2 定義常量字串。
由於常量字串儲存在常量空間中,所以只需要定義一個指標,指向該地址即可。如
char *s = "test string";
16樓:牙牙啊
1、定義變數字
符串。char str[200];
定義一個長度最大為200字元的字串。
2、定義常量字串。
由於常量字串儲存在常量空間中,所以只需要定義一個指標,指向該地址即可。如char *s = "test string"。
c語言:
c語言是一門通用計算機程式語言,應用廣泛。c語言的設計目標是提供一種能以簡易的方式編譯、處理低階儲存器、產生少量的機器碼以及不需要任何執行環境支援便能執行的程式語言。
儘管c語言提供了許多低階處理的功能,但仍然保持著良好跨平臺的特性,以一個標準規格寫出的c語言程式可在許多電腦平臺上進行編譯,甚至包含一些嵌入式處理器(微控制器或稱mcu)以及超級電腦等作業平臺。
二十世紀八十年代,為了避免各開發廠商用的c語言語法產生差異,由美國國家標準局為c語言制定了一套完整的美國國家標準語法,稱為ansi c,作為c語言最初的標準。
目前2023年12月8日,國際標準化組織(iso)和國際電工委員會(iec)釋出的c11標準是c語言的第三個官方標準,也是c語言的最新標準,該標準更好的支援了漢字函式名和漢字識別符號,一定程度上實現了漢字程式設計。
17樓:孫樹帥
誰和誰家家語言中怎樣定義一個字元,你可以請教你的計算機老師啊。
18樓:匿名使用者
如果字串長度不確定,例如讓使用者來輸入,可先定義長度變數例如:#include
#include
int length;
char *p;
scanf("%d",&length);
p=(char *)malloc(length*sizeof(char));
19樓:
沒有字串型別,所以要用char陣列
#include
#include
void main()
20樓:完全可以
#include
cstring string;
string即使字串變數 可以給它賦值~
21樓:
#include
cstring cstr="value";
22樓:匿名使用者
char *cs="helloworld";
哦。這是常量了。
為什麼c語言中不能用scanf()函式反覆對同一個字元型變數賦值
23樓:千鋒教育
int a;
scanf("%d",&a);
scanf("%d",&a);
scanf("%d",&a);
a是最後一次輸入的那個值
c語言中怎麼樣定義字串變數c語言中怎麼樣定義一個字串變數
c語言沒有字串型別,所以沒辦法進行定義字串變數。但是可以用字元陣列來處理字串。這定義了一個字元陣列,名為a 例 char a hello 也可以用來定義一個指標變數 定義了一個指標變數,名為p 例 char p hello 接觸c語言幾天。查了一些資料是這樣理解的,有不對的地方一起學習啦。一維的情況...
c語言中define巨集定義和變數定義的聯絡和區別
巨集定義是全域性性的,變數定義是區域性性的,巨集定義主要在預處理階段完成,由前處理器進行字元替換,變數定義則會在記憶體中為變數分配地址。define巨集定義的量是做常量處理的,如 define price 30,下文只要遇到price就代表常量30,他與變數的區別之一是在書出語句中printf d ...
在c語言中以下合法的字元常量是在C語言中,以下合法的字元常量是
選ca 有雙引號,是字串 b 單引號裡只能一個字元 d 0表明是8進位制,只能出現0 7的數字e 書寫不完整,右半邊的單引號沒了 答案是c。各答案解析 a 有雙引號,是字串 b 單引號裡只能一個版字元 d 0表明是8進位制,只 能出現權0 7的數字 e 書寫不完整,右半邊的單引號沒了 拓展 在c語言...