C语言中:a=(1,2,3),(4,5,6)请问a值和表达式值都是多少,为什么?

发布网友 发布时间:2022-04-27 05:36

我来回答

3个回答

热心网友 时间:2022-06-27 00:54

答案应该是3,原理:
优先级是括号最大其次是赋值运算符,然后是逗号运算符,所以先运算:a=(1,2,3)的括号,由于逗号运算符是从左到右运算所以值应该是3,然后再把3赋值给a,所以a值应该是3,再运算后面括号(4,5,6),值同理是6,然后整个表达式的值就可以简化成 3,6 ,按照逗号的运算值是6,所以整个表达式值是6

热心网友 时间:2022-06-27 00:54

楼主的语句是错误的,应该还加上一对括号
如:
a = ( (1,2,3), (4,5,6));
最终a的值是6 。
其实原理很简单,就看看逗号表达式就好了。
逗号表达式的值就是最后一个数或者语句的值!

热心网友 时间:2022-06-27 00:55

a=3,表达式为6
说楼主语句错误的那位朋友,a=(1,2,3),(4,5,6)不是一个语句,只是个表达式而已
a=(1,2,3),(4,5,6)
→a=3,(4,5,6)
→3,6
→6

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com