鱼C论坛

 找回密码
 立即注册
查看: 634|回复: 4

[已解决]求这个C程序的计算思路

[复制链接]
发表于 2020-8-14 16:02:53 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
  1. #include<stdio.h>
  2. int main(){
  3.         int x=10,y=20,z=30;
  4.         if(x>y)   z=x;x=y;y=z;
  5.         printf("%d,%d,%d\n",x,y,z);
  6. }
复制代码


答案是20,30,30!

可是不知道是如何计算出来的!

求思路
最佳答案
2020-8-14 16:05:25
这个程序实际上是这样:

  1. #include <stdio.h>
  2. int main()
  3. {
  4.     int x = 10, y = 20, z = 30;
  5.     if (x > y)
  6.         z = x; // 因为 x 大于 y 条件不成立,所以不执行这一句
  7.     x = y;     // 将 y 的值 20 赋值给 x
  8.     y = z;     // 将 z 的值 30 赋值给 y
  9.     printf("%d,%d,%d\n", x, y, z); // 所以打印出 20,30,30
  10. }
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-8-14 16:05:25 | 显示全部楼层    本楼为最佳答案   
这个程序实际上是这样:

  1. #include <stdio.h>
  2. int main()
  3. {
  4.     int x = 10, y = 20, z = 30;
  5.     if (x > y)
  6.         z = x; // 因为 x 大于 y 条件不成立,所以不执行这一句
  7.     x = y;     // 将 y 的值 20 赋值给 x
  8.     y = z;     // 将 z 的值 30 赋值给 y
  9.     printf("%d,%d,%d\n", x, y, z); // 所以打印出 20,30,30
  10. }
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2020-8-14 16:05:44 From FishC Mobile | 显示全部楼层
就这两条语句执行x=y;y=z;
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2020-8-14 16:08:36 | 显示全部楼层
zltzlt 发表于 2020-8-14 16:05
这个程序实际上是这样:

太感谢了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-8-14 16:10:20 | 显示全部楼层
baige 发表于 2020-8-14 16:05
就这两条语句执行x=y;y=z;

谢谢,因为zltzlt回复的早所以答案最佳给了zltzlt!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-22 08:40

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表