m0_61890009 2021-11-15 00:08 采纳率: 95.5%
浏览 26
已结题

从小到大输出三个数字,运行结果不对

img

  • 写回答

3条回答 默认 最新

  • Roc-xb 后端领域优质创作者 2021-11-15 03:08
    关注

    主要问题是没有加括号问题导致的,如果不加括号,默认情况下,if下面的第一条程序会在if语句中,后面的会在if外面执行,所以,就会出现与你预期结果不符。
    当if中有多条语句的时候,花括号是不能够忽略的。

    #include <stdio.h>
    #include <stdlib.h>
    
    int main() {
    
        int x,y,z,t;
        scanf("%d%d%d",&x,&y,&z);
        if(x>y) {
            t=x;
            x=y;
            y=t;
        }
    
        if(x>z) {
            t=z;
            z=x;
            x=t;
        }
        if(y>z) {
            t=y;
            y=z;
            z=t;
        }
        printf("%d %d %d",x,y,z);
    
    
        return 0;
    
    }
    
    
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 11月23日
  • 已采纳回答 11月15日
  • 创建了问题 11月15日

悬赏问题

  • ¥15 悬赏Python-playwright部署在centos7上
  • ¥15 psoc creator软件有没有人能远程安装啊
  • ¥15 快速扫描算法求解Eikonal方程咨询
  • ¥20 我的是道格手机,重置后屏幕右上角出现红色字的未写入tee key 和未写入google key请问怎么去掉啊
  • ¥30 关于R语言运行分区生存模型中的问题!
  • ¥15 校内二手商品转让网站
  • ¥20 高德地图聚合图层MarkerCluster聚合多个点,但是ClusterData只有其中部分数据,原因应该是有经纬度重合的地方点,现在我想让ClusterData显示所有点的信息,如何实现?
  • ¥100 求Web版SPC控制图程序包调式
  • ¥20 指导如何跑通以下两个Github代码
  • ¥15 大家知道这个后备文件怎么删吗,为啥这些文件我只看到一份,没有后备呀