已知int x=10,y=20,z=30;以下语句执行后x、y、z的值?

if(x>y)z=x;x=y;y=z正确答案是20.30.30... if(x>y) z=x;x=y;y=z
正确答案是20.30.30
展开
 我来答
爱教育爱学习
高粉答主

2020-07-12 · 学而不思则罔,思而不学则殆
爱教育爱学习
采纳数:384 获赞数:112737

向TA提问 私信TA
展开全部

x=20,y=30,z=30。

if(x>y)  z=x; x=y;y=z;相当于:

if(x>y)  {}z=x;} x=y;y=z;

即第一个赋值语句不执行,由此建议编程时,if语句后面一定要写{},不能偷懒。

扩展资料

类型在内存中占用了4个字节,也就是32位。int类型是有符号的,因此,32位并不会全部用来存储数据,使用最高位来存储符号,最高位是0,提示数据是正数,最高位是1,表示数据是负数,使用其他的31位来存储数据。

整数(int类型的常量)有几种书写形式,程序中的整数一般采用十进制写法。用十进制方式写出的一个整数就是普通数字字符组成的一个连续序列,其中不能有空格、换行或其他字符。C语言规定十进制表示的数字不能是0,除非要写的整数本身就是0。下面是一些整数的列子。

橙黑色
2010-06-06 · 超过11用户采纳过TA的回答
知道答主
回答量:36
采纳率:0%
帮助的人:32万
展开全部
if(x>y)
z=x;
x=y;
y=z;
if条件不满足,z=x就没有执行,从而,x=y=20,y=z=30,z的值没有变,因为if条件不满足
所以答案是 20 30 30
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
柯墨
2010-06-06 · TA获得超过215个赞
知道小有建树答主
回答量:120
采纳率:0%
帮助的人:69.2万
展开全部
题目的写法是简略写法
比较完整的写法应该是:
if(x>y)
{
z=x;
}
x=y;
y=z;
在没有{}的前提下,if的控制范围只限于下面的第一条语句。
如果题目改为
if (x>y)
z=x,x=y,y=z;
那么里面的值将会变为lz所想的10,20,10。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
chenghao0715
推荐于2018-02-24 · TA获得超过244个赞
知道答主
回答量:215
采纳率:0%
帮助的人:109万
展开全部
if(x>y)Z=X;
如果X>Y 执行Z=X,因为X不大于Y,所以Z=X这句话不执行,继续向下执行
X=Y;
X=20
Y=Z;
Y=30
Z还是原来的30
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
唔製
2011-06-20 · TA获得超过1146个赞
知道小有建树答主
回答量:456
采纳率:0%
帮助的人:578万
展开全部
int x=10,y=20,z=30;
if(x>y) //如果x > y就执行z=x,但实际10 > 20是不成立的,所以不会执行下一句z=x
z=x;
x=y; 执行完这句x=20,y=20,z=30
y=z; 执行完这句x=20,y=30,z=30
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式