设x,y,z,k都是int型变量,则执行表达式x=(y=4,z=16,k=30)后,x的值为什么是
2个回答
展开全部
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语言包含的数据类型广泛,不仅包含有传统的字符型、整型、浮点型、数组类型等数据类型,还具有其他编程语言所不具备的数据类型,其中以指针类型数据使用最为灵活,可以通过编程对各种数据结构进行计算。
展开全部
在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
运算符基本的用法及优先级问题,最好多看看书,上机实现一下,不要遇到问题就来提问,真不会可以百度一下,呵呵,学习要有方法.希望对你有帮助,共同进步哈!
#include<iostream>
usingnamespacestd;
voidmain()
{
intx,y,z,k,s;
s=(x=(y=4,z=16),k=32);
cout<<x<<endl<<s<<endl;
}
输出结果为:1632
运算符基本的用法及优先级问题,最好多看看书,上机实现一下,不要遇到问题就来提问,真不会可以百度一下,呵呵,学习要有方法.希望对你有帮助,共同进步哈!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询