搜索
查看: 630|回复: 6
打印 上一主题 下一主题

这段程序不懂求大佬们给讲讲

[复制链接]
跳转到指定楼层
楼主
 楼主| 发表于 2019-7-12 21:07:36 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
第2个if 为啥不写成 if(b>=a&&b>=c);第三个为啥不写成if(c>=a &&c>=b) 想不明白。 还有这三个if  相互影响吗

360截图20190712210834068.jpg (22.38 KB, 下载次数: 3)

360截图20190712210834068.jpg
沙发
发表于 2019-7-27 11:59:26 | 只看该作者
本帖最后由 c39486s 于 2019-7-27 12:05 编辑

本人小白,有点不懂,你这个可能是逻辑的问题,我照你的这段把它的逻辑改了一下可以运行,但不知道和你想要的一不一致。在if里面包含的数值a,b,c之间只要他们逻辑没问题就行,

333.PNG (178.83 KB, 下载次数: 1)

333.PNG
板凳
发表于 2019-7-27 12:00:28 | 只看该作者
#include <stdio.h> #include <stdlib.h> int main() {    int a,b,c;    scanf("%d %d %d",&a,&b,&c);    if(a>b && a>c) printf("%d",a);    if(b<a && b>c) printf("%d",b);    if(c<a && c<b) printf("%d",c);        system("pause");     return 0;
地板
发表于 2019-7-28 16:05:14 | 只看该作者
输入三个数,输出三者中最大的那个
5#
发表于 2019-7-28 20:01:31 | 只看该作者
c39486s 发表于 2019-7-27 12:00
#include  #include  int main() {    int a,b,c;    scanf("%d %d %d",&a,&b,&c);    if(a>b && a>c) prin ...

当a=1,b=1,c=1时,你运行程序看看,没有任何输出!


6#
发表于 2019-11-17 20:14:53 | 只看该作者
本人也是小白,对于这段代码 个人认为
  if(a>=b && a>=c) printf("%d",a);    a>=b  a>=c   时 a比b大 或者等于b 并且  a比c大 或者等于c,所以输出a这个应该可以理解
if(b>a && b>=c) printf("%d",b);     这里b>a 就可以的原因是 上一行中有了a>=b  所以不用再判断是够等于的这个动作了,所以在这第二行中,就可以直接判断b是否比a大即可,等于的判断,a=b和b=a不是一样的吗?所以上面第一个if中已经判断过了所以,这里就可以不用再次判断了。
if(c>a && c>b) printf("%d",c);         这里也是一样的,所以,个人在看这个代码的时候简单的方法是看等于的事项有几次等于,在这三段代码中分别有了a>=b  a>=c  b>=c  所以相等关系已经都体现出来了,所以个人认为代码是很严谨的。
7#
发表于 2020-1-16 20:59:28 | 只看该作者
因为没有使用else,所以为了防止重复输出要在后面两个if语句里排除等于的情况
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

广播台
特别关注
快速回复 返回顶部 返回列表