LUNSERCE
14 years ago
有人能教我C語言嗎??我搞不懂Call by name要怎麼看...下面有個例題
latest #27
LUNSERCE
14 years ago
#define PLUS(a,b ) a+b
LUNSERCE
14 years ago
#define MINUS(a,b ) a-b
LUNSERCE
14 years ago
#include <stdio.h>
立即下載
LUNSERCE
14 years ago
main() {int m1=3,m2=5;
LUNSERCE
14 years ago
m1=PLUS(m1,m2)*MINUS(m2,m1);
LUNSERCE
14 years ago
printf("%d\n" ,m1); }
LUNSERCE
14 years ago
(A )-16 (B )16 (C )25 (D )37
Mido
14 years ago
C
Mido
14 years ago
這是巨集的問題說
LUNSERCE
14 years ago
exmido: 詳細希望~解答是C沒錯,可是我不知道怎麼解,所以老是算到B
Mido
14 years ago
m1 = m1 + m2 * m2 - m1
Mido
14 years ago
不過為啥要做這個說阿0.0
LUNSERCE
14 years ago
括號是裝飾品!?
Mido
14 years ago
PLUS(a,b ) a+b <--- 所以後來沒有括號哩說阿
LUNSERCE
14 years ago
這句的意思是直接代換?? 如果PLUS(a,b ) (a+b ),還有MINUS(a,b ) (a-b ) 才能求出我卡死的B囉
Mido
14 years ago
是滴
Mido
14 years ago
因為這是巨集說=w=+
LUNSERCE
14 years ago
巨集是指把一段程式碼直接放入程式內的意思??
Mido
14 years ago
就是直接展開那樣
大會長不在家
14 years ago
LUNSERCE: 巨集是強者寫的懶人function XD
LUNSERCE
14 years ago
noinhome: exmido: 嗯嗯,感謝!!!
大會長不在家
14 years ago
LUNSERCE: 耶, 我還是講一下正經的好了XD 用巨集通常都是需要把程式call function的速度變快的方法啦, 而且如果是處理些不是很複雜的運算
大會長不在家
14 years ago
用macro可以讓整個程式變簡潔, 而且還可以寫在.h檔裡面XD
大會長不在家
14 years ago
會說是強者用的就是我看過很多linux的kernel code都是用巨集做出一整套演算的方法...那已經不是普通人會寫的了orz
LUNSERCE
14 years ago
noinhome: 這讓我覺得...當初發明電腦的人真是個天才
LUNSERCE
14 years ago
還有網路協定,即使知道那些是做什麼用的,也不知道當初是怎麼寫出來的
⎝浪⎠@μ'sic4ever
14 years ago
說到摳掰name就讓我想到當時在學Call by value、 Call by address...學完知道道理了之後記不起格式不會用(抱頭)
back to top