鱼C论坛

 找回密码
 立即注册
查看: 1644|回复: 7

[已解决]判断三个数中最大值

[复制链接]
发表于 2021-10-11 11:17:09 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 shark8890 于 2021-10-11 11:35 编辑

判断三个数中谁最大,居然可以这样写?这样的算法好像不合逻辑啊?
a=3
b=4
c=1
if(a>b>c):
    print("a is max",a)
elif(b>a>c):
    print("b is max",b)
else:
    print("c is max",c)

================ RESTART: C:/Users/admin/Desktop/python/test.py ================
b is max 4
这种a>b>c在C语言中好像不能这样写表达式吧?

C语言这样写,输出的是c is max
#include <stdio.h>
main(){
int a=3,b=2,c=1;
if(a>b>c)
{
        printf("a is max");
}
if(b>a>c)
{
    printf("b is max");
}
else
{ printf("c is max");}
}
最佳答案
2021-10-11 11:43:49
本帖最后由 傻眼貓咪 于 2021-10-11 11:46 编辑

c 语言属於编译语言

范例:
if(a > b > c) 如同 if((a > b) > c)
假设 a > b 为真(1)
那么 if((a > b) > c) 如同 if(1 > c)

而 Python 属於直译语言,这是两者不同之处,Python 比较人性化

范例:
if a > b > c 如同 if (a > b) and (b > c)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-10-11 11:19:59 | 显示全部楼层
很多语言都支持这种写法,不要被语法迷惑,其实底层还不是和C语言一样的实现原理。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-10-11 11:28:16 | 显示全部楼层
只要明白程序语言当中的原理,你想怎样写都可以(很多书上没有教的,书上只是基础原理)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-10-11 11:43:49 | 显示全部楼层    本楼为最佳答案   
本帖最后由 傻眼貓咪 于 2021-10-11 11:46 编辑

c 语言属於编译语言

范例:
if(a > b > c) 如同 if((a > b) > c)
假设 a > b 为真(1)
那么 if((a > b) > c) 如同 if(1 > c)

而 Python 属於直译语言,这是两者不同之处,Python 比较人性化

范例:
if a > b > c 如同 if (a > b) and (b > c)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-10-11 12:35:03 | 显示全部楼层
傻眼貓咪 发表于 2021-10-11 11:43
c 语言属於编译语言

范例:

感谢回复,这个回复解答了我的疑惑。
这个是否可以等同理解为,c是编译型语言,而python是解释型语言呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-10-11 12:42:52 | 显示全部楼层
编译型其实就是系统会将代码先全部看过一遍,确定没有错,然后执行
而解释型则是就算下面有错,系统还是会执行上面没有错的部分(可以说是走一步看一步)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-10-11 12:52:12 | 显示全部楼层
傻眼貓咪 发表于 2021-10-11 12:42
编译型其实就是系统会将代码先全部看过一遍,确定没有错,然后执行
而解释型则是就算下面有错,系统还是会 ...

if(a > b > c) 如同 if((a > b) > c)
假设 a > b 为真(1)
那么 if((a > b) > c) 如同 if(1 > c)

而 Python 属於直译语言,这是两者不同之处,Python 比较人性化

范例:
if a > b > c 如同 if (a > b) and (b > c)

那和您说的这个是有关联的吗?c语言和python对于a>b>c的不同处理方式
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-10-11 13:32:16 | 显示全部楼层
shark8890 发表于 2021-10-11 12:52
if(a > b > c) 如同 if((a > b) > c)
假设 a > b 为真(1)
那么 if((a > b) > c) 如同 if(1 > c)


抱歉,没有直接关联,只是多介绍两者程序差别
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-1 03:57

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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