大家好,精选小编来为大家解答以上的问题。c语言逗号运算符和表达式,关于c语言中的逗号运算符很多人还不知道,现在让我们一起来看看吧!
等一下。回答错误。你还需要理解什么是逗号表达式。我前面说的uuyyhhjj和delta_charlie是一个意思,但其实我们都错了。你可以自己运行我们所有的例子,看看是不是这样。下面的感觉应该是我正确的理解。逗号表达式在所有运算符中优先级最低,甚至低于赋值运算符。他的作用是计算每一个表达式,把最后一个表达式返回的值作为逗号表达式的值。(别的都别管)就像你说的那个,如果是x=200,500;(不带括号),x会等于200,然后上面整个公式的值就是500。但是如果有括号的话,(200,500)是一个单独的公式,它的值是500,所以x=(200,500)对x的最终赋值是500。比如x=(21,22,23,24,25);在此,先数一下括号里的,前21到24都是计算后丢弃的。括号中表达式的值是25。执行赋值操作后,x的值变成括号中表达式的值,25。如果int x是编译的;int a;x=(21,22,23,24,25);cout 'x=' xendl会输出x=25x=21,22,23,24,25;整行都是一个表情。逗号运算符将分别计算表达式x=21,22,23,24,25(单个数字也可以称为表达式)。然后他会用最后一个表达式作为逗号表达式的值。所以整个公式(整行)的值是25。但是因为这个值没有返回给其他变量,所以也被丢弃了。如果int x是编译的;x=21,22,23,24,25;coutx输出是21。a=(x=21,22,23,24,25);在这里面,除了给X赋值,还把逗号表达式25的值赋给a .如果int x被编译;int a;a=(x=21,22,23,24,25);cout 'x=' xendlcout 'a=' aendl会输出x=21a=25a=(x=21,22,23,24,x * 25);在这种情况下,将值赋给X后,逗号表达式的值由X计算,21*25,最后如果编译int x,将这个值赋给A;int a;a=(x=21,22,23,24,x * 25);cout 'x=' xendlcout 'a=' aendl会输出x=21a=525。简单来说,逗号的作用就是执行每个表达式,然后用最后一个表达式作为它的值。这可能有助于你了解http://blog.csdn.net/great_ghoul/article/details/1779768.如果你有任何问题,欢迎你提出来。本文到此结束,希望对大家有所帮助。
免责声明:免责声明:本文由用户上传,与本网站立场无关。财经信息仅供读者参考,并不构成投资建议。投资者据此操作,风险自担。 如有侵权请联系删除!