因为没有使用else,所以为了防止重复输出要在后面两个if语句里排除等于的情况 |
本人也是小白,对于这段代码 个人认为 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 所以相等关系已经都体现出来了,所以个人认为代码是很严谨的。 |
c39486s 发表于 2019-7-27 12:00 当a=1,b=1,c=1时,你运行程序看看,没有任何输出! |
输入三个数,输出三者中最大的那个 |
#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; |