1
讓我們假設我有跟隨着代碼C評價秩序
#define CHECK(result) do{ \
if(result == 0) \
return false; \
} while(0)
int sum(int a, int b){
return (a + b);
}
int main(){
int a = b = 0;
CHECK(sum(a + b));
reutnr 0;
}
我的問題是:如何評價C中的順序,我的意思是:
result = sum(a, b)
//and only after checking
if(result == 0)
return false;
或
if(sum(a + b) == 0)
return false;
在此先感謝
C99具有宏真,假定義爲1,0,但你的權利,這是一個不好的做法,在平原C. –
特別是在這裏,其中一個int有望和'假== 0 ==用真,假EXIT_SUCCESS'。 – user786653