c語言中為什麼用巨集定義字元常量字母可以賦值給字元

2021-03-04 08:22:22 字數 1580 閱讀 5558

1樓:匿名使用者

1、因為巨集定義實質是一種替換,雖然看起來是字元,實際上最終是被替換成其他常熟或者值。

2、巨集定義中的識別符號都採用大寫,這是程式設計中一種約定俗成的習慣:

1)巨集替換不做語法檢查,所以在使用的時候要格外小心2)巨集替換通常在檔案開頭部分,寫在函式的花括號外邊,作用域為其後的程式,直到用 問好

3)# u n d e f 命令終止巨集定義的作用域4)不要在字串中使用巨集,如果巨集名出現在字串中,那麼將按字串進行處理.

2樓:關韶侍荏

因為巨集是乙個簡單替換,所以c語言中用巨集定義乙個字元常量(乙個字母)可以賦值給字元變數。實質是在編譯之前會把巨集替換掉,然後再編譯。

例如:#define a 5

void main()

在編譯之前a已經被替換成5了,所以就可以賦值給num。

c語言中為什麼用巨集定義乙個字元常量(乙個字母)可以賦值給字元變數,

3樓:匿名使用者

1、因為巨集定義實質是一種替換,雖然看起來是字元,實際上最終是被替換成其他常熟或者值。

2、巨集定義中的識別符號都採用大寫,這是程式設計中一種約定俗成的習慣:

1)巨集替換不做語法檢查,所以在使用的時候要格外小心2)巨集替換通常在檔案開頭部分,寫在函式的花括號外邊,作用域為其後的程式,直到用 問好

3)# u n d e f 命令終止巨集定義的作用域4)不要在字串中使用巨集,如果巨集名出現在字串中,那麼將按字串進行處理.

4樓:匿名使用者

因為巨集是乙個簡單替換,所以c語言中用巨集定義乙個字元常量(乙個字母)可以賦值給字元變數。實質是在編譯之前會把巨集替換掉,然後再編譯。

例如:#define  a    5

void main()

在編譯之前a已經被替換成5了,所以就可以賦值給num。

5樓:匿名使用者

漢字根據編碼方式不同,所佔的大小2~4個位元組不等,漢字賦值給字元變數,只顯示第乙個位元組,出問號就不奇怪了

用漢字賦值給字元數陣列然後在顯示的話,一定要考慮編碼方式問題,你的終端支援哪種就選擇哪種,否則亂碼

6樓:匿名使用者

#define namehello "wendy"

#include

#include

void main()

7樓:匿名使用者

c裡面不支援漢子,你用vc++6.0試試,那個可以顯示漢子

在巨集定義 #define pi 3.14159中,用巨集名pi代替乙個 a) 單精度數 b) 雙精度數 c) 常量 d) 字串

8樓:

答案是d 編譯預處理的時候,巨集名pi將被字串「3.14159「代替,這一替換過程稱為巨集

巨集的定義格式為

#define 巨集名 字串或者字元

9樓:匿名使用者

c define是定義常量的

10樓:匿名使用者

不用我說了吧,進來看看。

c語言中有關區域性常量的定義,C語言中是如何定義常量的啊

第乙個錯誤是 預編譯定義 defineca應該放在函式的外面,而且是程式檔案的開頭,而你把它放在函式內部了 第二個錯誤是 定義陣列 ints c 時,陣列長度必需用常量,在這裡,c雖然貌似是個常量,但先不說c本身的定義是錯的,而它所代表的卻是a,而a是變數,所以是錯誤。改正之後的結果應該是 incl...

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

你這個是 抄選擇題?那就選d吧,其 襲它的都是小於128的字元,可bai以顯示,d表示du的內容大於zhi等於128,不能顯示,你可以 與ascii表對應,每乙個字元常量有他相應的碼值。以下選項不合法的字元常量是 a 018 b c d xcc 每個字元常量都對應乙個整數編碼,所以表示乙個字元有兩種...

C語言中FILE定義的陣列有什麼用?怎麼用

用於即將開啟使用的5個檔案,比如 f 0 fopen file0.txt r f 1 fopen file1.txt r f 2 fopen file2.txt r f 3 fopen file3.txt r f 4 fopen file4.txt r 象上述開啟後你就可以分別讀取每個檔案中的內容了...