[問題] 用 MACRO function 作乘法結果不對

看板C_and_CPP作者 (野格炸彈)時間11年前 (2013/07/13 02:38), 編輯推噓12(13122)
留言36則, 14人參與, 最新討論串1/1
#define M(a,b) a*b int main(void) { int i = 5, j = 6; printf("i*j = %d", M(i+1, j-2*2)); return 0; } 這是一個考試的題目 剛剛拿去跑程式答案是2 為什麼不是6*2=12呢? define那樣寫法跟函數有什麼不同嗎 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 219.69.114.26 ※ 編輯: yuchiao0921 來自: 219.69.114.26 (07/13 02:40)

07/13 02:56, , 1F
置底文十三誡第九
07/13 02:56, 1F

07/13 02:57, , 2F
你是不是打錯字了,我心算跟程式都是7。另外,不同點在
07/13 02:57, 2F

07/13 02:58, , 3F
置底文十三誡第九XD 可惡被搶了
07/13 02:58, 3F

07/13 02:59, , 4F
1. 題目很沒營養 2. 答案是7 3. 因為macro只是替換文字
07/13 02:59, 4F

07/13 03:00, , 5F
大家都回好快XD
07/13 03:00, 5F
剛剛+括弧跑出來是7沒錯 可以問一下是怎麼算的嗎? ※ 編輯: yuchiao0921 來自: 219.69.114.26 (07/13 03:17)

07/13 03:27, , 6F
算式會變成: i+1*j-2*2 所以等於7
07/13 03:27, 6F

07/13 03:30, , 7F
謝謝你
07/13 03:30, 7F

07/13 04:11, , 8F
加上括號後怎麼還會7 你到底把括號加在哪裡
07/13 04:11, 8F

07/13 06:46, , 9F
(a*b)阿 他題意應該是這樣吧
07/13 06:46, 9F

07/13 07:49, , 10F
((a)*(b))
07/13 07:49, 10F

07/13 19:03, , 11F
啊!~~~~我看不懂也懶得DEBUG
07/13 19:03, 11F

07/13 19:06, , 12F
INT M( ).......M()是一個副程式,RETURN 0是無傳回值
07/13 19:06, 12F

07/13 19:15, , 13F
樓上怎麼來這裡了XD
07/13 19:15, 13F

07/13 19:18, , 14F
來讓你們嘲笑的
07/13 19:18, 14F

07/13 19:50, , 15F
很冷,不好笑。
07/13 19:50, 15F

07/13 20:22, , 16F
沒想到樓上肯挺我
07/13 20:22, 16F

07/13 20:22, , 17F
M大
07/13 20:22, 17F

07/13 20:45, , 18F
其實macro能不用就避免 尤其是這種即便你加在多括號也
07/13 20:45, 18F

07/13 20:46, , 19F
有方法可以讓你macro爆掉
07/13 20:46, 19F

07/13 20:48, , 20F
如果用gcc的話可以用-E看看macro展成怎樣
07/13 20:48, 20F

07/13 22:00, , 21F
在kernel裡可不是這回事,有macro就盡量用macro XDD
07/13 22:00, 21F

07/13 22:57, , 22F
為什麼?
07/13 22:57, 22F

07/13 22:59, , 23F
就說 '問題' 就刪文看不懂板標逆? 一點描述性都沒有
07/13 22:59, 23F

07/13 23:08, , 24F
于同學,好久不見喔,大五畢業了嗎?
07/13 23:08, 24F

07/13 23:25, , 25F
找你好久了,事實上是被FIRE,你不開信箱我也沒辦法聯絡你
07/13 23:25, 25F

07/13 23:27, , 26F
私人事務還是私底下談比較好
07/13 23:27, 26F

07/13 23:28, , 27F
話說為什麼你會知道是我?!
07/13 23:28, 27F

07/13 23:30, , 28F
我一向都是躲在PTT裡,程式版我也不想常來,究竟我工作不
07/13 23:30, 28F

07/13 23:32, , 29F
是專業的PROGRAM WRITER
07/13 23:32, 29F

07/13 23:34, , 30F
話說你願意接受三妻四妾嗎?!
07/13 23:34, 30F

07/14 00:00, , 31F
你貓的k某誰挺你了 自作多情夠了沒有 說不想來還在嘴炮
07/14 00:00, 31F

07/14 02:45, , 32F
準備國考很悶齁?所以三不五時要上PTT耍一下白慰藉一下自己
07/14 02:45, 32F

07/14 02:46, , 33F
我知道你都躲在PTT裡阿,你這種人在現實世界根本見不得人:P
07/14 02:46, 33F

07/14 02:47, , 34F
我還是那句話,垃圾還可以回收,廢物還可以利用,你....呵...
07/14 02:47, 34F

07/14 07:57, , 35F
你怎麼那麼兇啊?女孩子太兇是嫁不出去的喔
07/14 07:57, 35F

07/19 17:49, , 36F
題目不會沒營養,我就真的因為這個問題 DEBUG 好幾天...
07/19 17:49, 36F
文章代碼(AID): #1Hu4qdHO (C_and_CPP)