1樓:周大個子
7z=x+1*x/2=5+5/2=5+2=7
巨集定義就是直接代入,沒有括號的
2樓:花開芒夏
z=5+1*5/2=7
c語言中常量定義和巨集定義有什麼區別?
3樓:劉文正粉絲
區別大了個去了.
巨集定義是預處理命令.
#defien a 3
執行後, 前處理器把會正文所有全字匹配的a, 全部替換為3,那麼, 最後的**進入編譯器的**,
1 + a, 是變成1 + 3的.
而const int a = 3;
這個是不在前處理器的管理範圍之內 ,這個就是編譯器的工作了, 有些編譯器不會為它分配空間, 直接把它加入符號表中, 也就是說, 常量不再是0123456789這10個數, 而是0123456789a這11個數, 那麼a就是被定義成3了, 所以符號表裡的內容是01234567893.
而有些 編譯器會為它分配空間.
你不知道它們的區別, 說明你學巨集的時候, 並不知道巨集的原理.
4樓:金色潛鳥
巨集定義 是編譯前的預處理。
#define a 3 是在程式正式編譯前,做 token a 的字串替代,凡 token a 都用 3替代, 替代完了再開始編譯。
const int a = 3; 是 變數宣告和初始化。只是強調了 a 是 常量,不能用來做 「左值」,即,數值不能改變。
5樓:匿名使用者
符號常量 #define pi 3.1415926f;
常值變數 const float pi 3.1415926f;
網頁連結
c語言中的常量是怎麼使用的,是不是通過巨集定義常量啊
6樓:匿名使用者
對的!專家的推薦是這樣的:
1,對於數值和字元常量,用#define,注意新增必要註釋;版2,對於其它權
型別常量,用 const 限定符。
const 和 #define 的區別在於1、const 像變數一樣有範圍(作用域)、可見性等限制,一般來說好一點;
2、define常常出現意料之外的事情,因為他是靠替換,一般用於人為規定的值,取個巨集名非常重要!
僅供參考!
C中怎樣寫巨集定義,C中define巨集定義各種用法含特殊,小舉個例子,謝謝
巨集定義,就 抄我的理解就是bai替換。舉個例子 du define ip 3.1415 編譯執行時只把ip 換成 zhi3.1415 define add x,y x y 如果我們使用時 4 add 2,2 結果翻譯成4 2 2 dao改變一下 define add x,y x y 4 add 2...
c語言巨集定義計算問題,C語言巨集定義計算問題
i f 4 4 f 2 2 4 4 4 4 2 2 2 2 28如果 define f x x x i f 4 4 f 2 2 4 4 4 4 2 2 2 2 64 define f x x x i f 4 4 f 2 2 這樣i f 4 4 f 2 2 4 4 4 4 2 2 2 2 24 8 3...
關於c語言巨集定義輸出,關於C語言巨集定義輸出
巨集定義就是字串代替,先把整個東西代替進去 a s i s i z s i a a s i 這是三目運算子,從左到右。先是 a s i 這裡是 a s 1 b 成立 接下來是 s i z 這裡是 s 2 c z 也成立 所以是,s i a a 這裡其實就是小寫轉大寫 這裡是,s 3 d a a 結果...