两者之间没有区别的,逗号 代表所在行语句没有结束,继续执行,所以if (a>0,b>0)代表同时满足两个条件,而if (a>0&&b>0)是逻辑运算代表两个同时满足,意义是一样的,望采纳
这个问题有点意思。
说实话,第一种写法是不被推荐的,因为第一个 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.
两者木有区别,逗号表示一个语句没有结束,分号表示结束了