设x,y,z,k都是int型变量,则执行表达式x=(y=4,z=16,k=30)后,x的值为什么是

 我来答
热点那些事儿
高粉答主

2020-11-22 · 关注我不会让你失望
知道大有可为答主
回答量:8668
采纳率:100%
帮助的人:210万
展开全部

x=32

基本上这句程序在编译之后,实际上的流程是:

1、将4赋值给y

2、将16赋值给z

3、将32赋值给k

4、将k的值赋值给x

扩展资料

c语言的特点:

(1)简洁的语言

C语言包含的各种控制语句仅有9种,关键字也只有32 个,程序的编写要求不严格且以小写字母为主,对许多不必要的部分进行了精简。

(2)具有结构化的控制语句

C语言是一种结构化的语言,提供的控制语句具有结构化特征,如for语句、if⋯else语句和switch语句等。可以用于实现函数的逻辑控制,方便面向过程的程序设计。 

(3)丰富的数据类型

C语言包含的数据类型广泛,不仅包含有传统的字符型、整型、浮点型、数组类型等数据类型,还具有其他编程语言所不具备的数据类型,其中以指针类型数据使用最为灵活,可以通过编程对各种数据结构进行计算。

佘秀荣冯衣
2019-08-15 · TA获得超过3.7万个赞
知道小有建树答主
回答量:1.4万
采纳率:27%
帮助的人:889万
展开全部
在c语言中,多个表达式可以用逗号分开,其中用逗号分开的表达式的值分别结算,但整个表达式的值是最后一个表达式的值。所以(y=4,z=16)的最终结果是16,而逗号运算符优先级低于赋值运算符,故先执行x=(),即x=16;x赋值后才参与后面逗号表达式的运算,该表达式最终结果为32,可以用以下代码验证:
#include<iostream>
usingnamespacestd;
voidmain()
{
intx,y,z,k,s;
s=(x=(y=4,z=16),k=32);
cout<<x<<endl<<s<<endl;
}
输出结果为:1632
运算符基本的用法及优先级问题,最好多看看书,上机实现一下,不要遇到问题就来提问,真不会可以百度一下,呵呵,学习要有方法.希望对你有帮助,共同进步哈!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式