2013-10-24 35 views
1

道歉为模棱两可的标题,但我根本不知道如何把它。函数调用+计算返回值+比较C中的计算值

无论如何,我希望一段代码来做到这一点做同样的事情在同一行(在if语句)

ret= fee(XYZ); 
if((fii(ret) && foh(ret)) !=0) 
{ 
    //do something 
} 

喜欢把所有的成类似

if(_______FUM________)  
{ 
    //do the same thing 
} 

是有什么我可以为此做的?答案可能是盯着我的脸。但我被困在这里。

+1

你为什么要这么做?你是否用新行支付代码存储空间? – Jon

+0

不,我实际上在编辑一段包含if-else语句的代码,如果我用了两行,需要更多的编辑。 – umayneverknow

+1

也许更好的解决方案是重构代码,使其不是复制面食一样多? – Jon

回答

3

您可以使用comma operator

if(ret = fee(XYZ), (fii(ret) && foh(ret)) !=0) 

但是,为什么?

(此外,!=0似乎是多余的。)

+0

这工作出色!非常感谢! – umayneverknow

+0

而0部分是一个不好的例子,因为我没有检查!= 0,但实际上是一个已定义的宏。 – umayneverknow