在C语言中,设x,y,z和k都是int型变量,则执行表达式:x=(y=4,z=16),k=32后,x的 值为( ).求过

问题描述:

在C语言中,设x,y,z和k都是int型变量,则执行表达式:x=(y=4,z=16),k=32后,x的 值为( ).求过程
1个回答 分类:综合 2014-11-23

问题解答:

我来补答
在C语言中,多个表达式可以用逗号分开,其中用逗号分开的表达式的值分别结算,但整个表达式的值是最后一个表达式的值.所以(y=4,z=16)的最终结果是16,而逗号运算符优先级低于赋值运算符,故先执行x=(),即x=16; x赋值后才参与后面逗号表达式的运算,该表达式最终结果为32,可以用以下代码验证:
#include
using namespace std;
void main()
{
\x09int x,y,z,k,s;
\x09s=(x=(y=4,z=16),k=32);
\x09cout
 
 
展开全文阅读
剩余:2000