为什么编程语言不支持if(1 小编 • 2023年2月23日 上午1:42 • 科技 • 阅读 18

主要原因是这种设计让编译器的文法分析器会变得复杂。是先求1<a的值,用结果的布尔值即0或1再与10比较。所以理论上这个语句的if会一直为true。对编译器来说,这种写法是类似的,都是 “数值、比较运算符、变量、比较运算符、变量”五个部分构成。

主要原因是这种设计让编译器的文法分析器会变得复杂。是先求1<a的值,用结果的布尔值即0或1再与10比较。所以理论上这个语句的if会一直为true。

如果支持 1<a<10要不要支持下面三种类似的写法?

1>a>10

1<a>10

1>a<10

对编译器来说,这四种写法是类似的,都是 “数值、比较运算符、变量、比较运算符、变量”五个部分构成。然后,需要考虑如果有变态的程序员嵌套着用,比如,下面这个东西?a<c+d<=5<f==t=>m+n>=x+y>x-y

所以大部分语言决定,还是不要自找麻烦了吧

延伸阅读:

什么是编程语言?

计算机编程语言是程序设计的最重要的工具,它是指计算机能够接受和处理的、具有一定语法规则的语言。从计算机诞生,计算机语言经历了机器语言、汇编语言和高级语言几个阶段。

在所有的程序设计语言中,只有机器语言编制的源程序能够被计算机直接理解和执行,用其它程序设计语言编写的程序都必须利用语言处理程序“翻译”成计算机所能识别的机器语言程序。

文章标题:为什么编程语言不支持if(1 小编 • 2023年2月23日 上午1:42 • 科技 • 阅读 18,发布者:小编,转载请注明出处:https://worktile.com/kb/p/40632

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小编的头像小编
上一篇 2023年2月23日
下一篇 2023年2月23日

相关推荐

发表回复

登录后才能评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部