1樓:天藍雲揚
直接賦值字元變數或者相互賦值是沒有問題的,程式崩潰可能是其它原因。
c語言中為什麼用巨集定義一個字元常量(一個字母)可以賦值給字元變數?
2樓:匿名使用者
1、因為巨集定義實質是一種替換,雖然看起來是字元,實際上最終是被替換成其他常熟或者值。
2、巨集定義中的識別符號都採用大寫,這是程式設計中一種約定俗成的習慣:
1)巨集替換不做語法檢查,所以在使用的時候要格外小心2)巨集替換通常在檔案開頭部分,寫在函式的花括號外邊,作用域為其後的程式,直到用 問好
3)# u n d e f 命令終止巨集定義的作用域4)不要在字串中使用巨集,如果巨集名出現在字串中,那麼將按字串進行處理.
3樓:關韶侍荏
因為巨集是一個簡單替換,所以c語言中用巨集定義一個字元常量(一個字母)可以賦值給字元變數。實質是在編譯之前會把巨集替換掉,然後再編譯。
例如:#define a 5
void main()
在編譯之前a已經被替換成5了,所以就可以賦值給num。
c語言中用指標賦值字串為什麼不加如下
a cool 這是地址來賦值,將一個常量字串 自的首地址賦值給a這個指標。a cool 這是字元賦值,不是字串 雖然a叫字串指標,但char a這樣的定義,a必然是一個字元,而不是多個。因此後面的常量會被忽略為一個字元,進行數值賦值 也可以理解為拷貝賦值,區別於地址賦值 在a沒有分配地址的情況下,直...
C語言轉義字元x41為A,為什麼??16進位制不是0x41嗎?0x開頭
要不然 x41 怎麼叫做a的 轉義 字元!因為c規定轉義字元 x41 中 是轉義字元引導符,後跟一個x表示x後面的數字是十六進位制表示法,用 括起來表示一位元組ascii碼。按這種解釋,x41 不就和0x41是一回事嗎?它們都表示字元a或a的ascii碼值! 杳哈哈哈 x說明的是十六進位制啊 然後4...
c語言,整數轉成字串,遞迴看不懂,為什麼呼叫完自己之後會再次呼叫?求解
輸入的number是1234 main 中呼叫convert number 進入了轉換函式。void convert int n 1.第一次進入convert int n 函式時,n 1234 i n 10 123 非0,因此遞迴呼叫convert 123 這時的n 1234會被壓入棧。2.運算co...