当前位置: 技术问答>linux和unix
返回值问题
来源: 互联网 发布时间:2017-05-28
本文导语: int func() { int a = 1; int b = 1; int c = 192; return a==1&&b==1&&c>0?192:0; } 为什么这个函数返回值是192,而不是1呢? 原理是什么? | //上面弄错了,大于运算...
int func()
{
int a = 1;
int b = 1;
int c = 192;
return a==1&&b==1&&c>0?192:0;
}
为什么这个函数返回值是192,而不是1呢?
原理是什么?
{
int a = 1;
int b = 1;
int c = 192;
return a==1&&b==1&&c>0?192:0;
}
为什么这个函数返回值是192,而不是1呢?
原理是什么?
|
//上面弄错了,大于运算符的优先级比逻辑与更高,等价的语句应该是这样的
return ((a == 1 && b == 1) && (c > 0)) ? 192 : 0;
|
// &&优先级高于三目运算符,这个return语句实际上等价于:
return ((a==1 && b==1) && c) > 0 ? 192 : 0;
|
找个优先级的表对着分析吧
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。