![](https://iknow-base.cdn.bcebos.com/lxb/notice.png)
在C语言中,设x,y,z和k都是int型变量,则执行表达式:x=(y=4,z=16),k=32后,x的 值为( )。求过程
3个回答
展开全部
在C语言中,多个表达式可以用逗号分开,其中用逗号分开的表达式的值分别结算,但整个表达式的值是最后一个表达式的值。 所以(y=4,z=16)的最终结果是16,而逗号运算符优先级低于赋值运算符,故先执行x=(),即x=16; x赋值后才参与后面逗号表达式的运算,该表达式最终结果为32,可以用以下代码验证:
#include<iostream>
using namespace std;
void main()
{
int x,y,z,k,s;
s=(x=(y=4,z=16),k=32);
cout<<x<<endl<<s<<endl;
}
输出结果为: 16 32
运算符基本的用法及优先级问题,最好多看看书,上机实现一下,不要遇到问题就来提问,真不会可以百度一下,呵呵,学习要有方法.希望对你有帮助,共同进步哈!
#include<iostream>
using namespace std;
void main()
{
int x,y,z,k,s;
s=(x=(y=4,z=16),k=32);
cout<<x<<endl<<s<<endl;
}
输出结果为: 16 32
运算符基本的用法及优先级问题,最好多看看书,上机实现一下,不要遇到问题就来提问,真不会可以百度一下,呵呵,学习要有方法.希望对你有帮助,共同进步哈!
展开全部
#include<iostream>
using namespace std;
void main()
{
int x,y,z,k;
x=(y=4,z=16);k=32;
cout<<x<<endl;
}
输出结果为: 16
using namespace std;
void main()
{
int x,y,z,k;
x=(y=4,z=16);k=32;
cout<<x<<endl;
}
输出结果为: 16
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
16
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询