求c语言高手指点关于if函数的问题
请问if(a>0,b>0)和if(a>0&&b>0)有什么区别呢还有就是逗号在c语言里面到底是什么意思...
请问
if (a>0,b>0)和if (a>0&&b>0)有什么区别呢
还有就是 逗号 在c语言里面到底是什么意思 展开
if (a>0,b>0)和if (a>0&&b>0)有什么区别呢
还有就是 逗号 在c语言里面到底是什么意思 展开
4个回答
2013-10-04
展开全部
这个问题有点意思。
说实话,第一种写法是不被推荐的,因为第一个 if 的括号里面的意思是:先运算 a > 0 ,再运算 b > 0 ,最后取 b > 0 的值(真或假,即非0或0)作为 if 的判断条件。逗号也是 C 语言中的运算符,在 C 语言中,多个表达式可以用逗号分开,其中用逗号分开的表达式的值分别计算,但整个表达式的值是最后一个表达式的值。逗号运算符的优先级较低。
至于第二个 if 就不用多说了吧,&&逻辑与运算符,a > 0 和 b > 0 的结果再进行与运算之后作为 if 的判断条件。
说实话,第一种写法是不被推荐的,因为第一个 if 的括号里面的意思是:先运算 a > 0 ,再运算 b > 0 ,最后取 b > 0 的值(真或假,即非0或0)作为 if 的判断条件。逗号也是 C 语言中的运算符,在 C 语言中,多个表达式可以用逗号分开,其中用逗号分开的表达式的值分别计算,但整个表达式的值是最后一个表达式的值。逗号运算符的优先级较低。
至于第二个 if 就不用多说了吧,&&逻辑与运算符,a > 0 和 b > 0 的结果再进行与运算之后作为 if 的判断条件。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
当然有区别:a>0,b>0是逗号运算,此表达式实际的运算结果与a>0无关;而a>0&&b>0必须同时成立,其值才为1.
更多追问追答
追问
谢谢你了,不过你晚了一点
追答
才看见。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
两者木有区别,逗号表示一个语句没有结束,分号表示结束了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询