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