第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

#define的用法

#define的用法

C
慕容0566771 2016-12-04 00:35:16
#define
查看完整描述

2 回答

?
望遠

TA貢獻1017條經(jīng)驗 獲得超1032個贊

#define這是宏定義,它的作用是《1》讓某一個標(biāo)識符用一個字符串等價代替,或者《2》用來定義宏函數(shù)。

#define?PI?3,14159//作用:程序里出現(xiàn)PI就先用3.14159代換掉
eg:???printf("%f\n",4*PI);<---->printf("%f\n",4*3.14159);
eg:???#define?MAX(x)?x*x
???????printf("%d\n",MAX(3+4));//輸出19
???????//等價于:printf("%d\n",3+4*3+4);注意是直接等價替換,不要先運算得了個49


查看完整回答
反對 回復(fù) 2016-12-05
?
shark霯霯

TA貢獻2條經(jīng)驗 獲得超0個贊

昨天剛學(xué),剛好認真聽了課··233

以#define開始的行成為宏定義命令行。其定義形式是#define ?宏名 ?替代正文 (宏名和替代正文之間至少有一個空格)

此處注意,宏定義結(jié)束不用添加“;”,替代正文可以很長,可以是任何文本,中途可以換行,換行時注意,行尾“\”,然后下一行頂格寫,否則中途的空格會被認為是替代正文。

eg:#define PI 3.14159

#define PI 3.14\

159

#define PI 3.14\

? ? 159

以上兩個換行例子是不一樣的。

宏替代是純粹簡單的文本,沒有優(yōu)先級的存在。

eg:#define A 3+5

? ? ? ?printf(“%d”,A *2);

輸出來的結(jié)果是13,而非16。http://img1.sycdn.imooc.com//58430e000001325904550155.jpg

宏定義還有另外一個帶參數(shù)的形式:

#define 宏名(參數(shù)列表) 替代正文

注意:此時,宏名和(參數(shù)列表)中間是沒有空格的,參數(shù)列表里的參數(shù)是沒有類型的。

宏替代不在是簡單的文本替代,而是中途要轉(zhuǎn)個彎,即實參文本代替替代正文中對應(yīng)的參數(shù),但是還是沒有優(yōu)先級。

eg:#define MUL(X,Y) X*Y

?printf(“%d”,MUL(5,3));http://img1.sycdn.imooc.com//5843112b00019b7104290131.jpg

printf(“%d”,MUL(5,3+2));

我的理解是純粹的文本代替,沒有優(yōu)先級即完全替代,不加括號。


#define宏定義是寫在預(yù)處理部分的,即在int main的外圍;

#define 常常用來定義常數(shù)(如圓周率)

#define常替換函數(shù)(eg:#define max(a,b) (a)>(b)?(a):(b)

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? {int d=max(5+3,4);```````````}http://img1.sycdn.imooc.com//5843137400015bb301560071.jpg

我的筆記就做這么多/手動圍笑/,希望能幫到你~~~~

查看完整回答
反對 回復(fù) 2016-12-04
  • 2 回答
  • 0 關(guān)注
  • 1687 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號