24、表达式与赋值:深入解析

表达式与赋值:深入解析

在编程中,表达式和赋值是基础且重要的概念。本文将详细探讨表达式的相关特性,包括表达式重排可能引发的问题、函数副作用、特殊表达式的类型及使用规则,以及赋值操作。

表达式重排与错误

表达式的重排可能会导致错误,而程序员原本可能认为特定的计算顺序可以避免这些错误。例如,在表示 IF 测试条件的逻辑表达式中:

if (present(x) .and. x > 0) then

条件 x > 0 可能会先被计算,如果 x 不存在,就会导致错误。

函数副作用与部分求值

一般情况下,函数允许有副作用,即函数调用后程序的状态可能会发生改变。但也有一些例外:
- 纯过程 :纯过程不允许有任何副作用。
- 部分副作用限制 :语句中的函数(或定义的操作)不得影响或受同一语句中任何实体变化的影响。不过,像 IF 语句或 WHERE 语句等有嵌套语句的情况除外。例如:

IF (F (I))
    A = I
WHERE (G (I))
    B = I

这些语句是有效的,即使函数 F G 会改变实际参

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值