我是c语言初学者,有些问题不懂.

学习 时间:2026-04-02 18:08:47 阅读:1145
我是c语言初学者,有些问题不懂.#includemain(){\x05int a,b;\x05\x05scanf("%d,%d",&a,&b);\x05\x05if(a>b) printf("%d is bigger than %d\n",a,b);\x05\x05if(a==b) printf("%d is equal to %d\n",a,b);\x05\x05else printf("%d is bigger than %d\n",b,a);}这是我编的比较大小的程序,运行的时候,输入10,5会出现10 is bigger than 5 5 is bigger than 10 为什么会出现两个?后面的还是错的!我是不是哪里编错了?

最佳回答

沉静的保温杯

醉熏的耳机

2026-04-02 18:08:47

同意mars_room_10的回答。程序是从上往下运行的,你的两个if是并列关系。输入5和10之后,满足第一个if(a>b),所以会出现“10 is bigger than 5”判断完之后它就会进入第二个if,很明显a==b是不成立的,所以就会执行else里的代码,出现“5 is bigger than 10”。在第二个if 前面加个 else,把两个if变成嵌套关系,只有当不满足a>b的时候,才会去判断a==b满不满足。

最新回答共有2条回答

  • 文艺的橘子
    回复
    2026-04-02 18:08:47

    同意mars_room_10的回答。程序是从上往下运行的,你的两个if是并列关系。输入5和10之后,满足第一个if(a>b),所以会出现“10 is bigger than 5”判断完之后它就会进入第二个if,很明显a==b是不成立的,所以就会执行else里的代码,出现“5 is bigger than 10”。在第二个if 前面加个 else,把两个if变成嵌套关系,只有当不满足a>b的时候,才会去判断a==b满不满足。

上一篇 -may i speak to dick?-just a minute.i'll----him.A.find B.tak

下一篇 氮气氢气合成氨氢气体积及相对分子质量的求算