把零当作/或%的右操作数会导致未定义的行为。
副作用:大多数C语言运算不会改变操作数的值,但是有一些会改变。由于这类运算符不再仅仅计算出值,所以称它们有副作用。简单赋值运算符是已知的第一个有副作用的运算符,它改变了运算符的左操作数。对表达式i
= 0求值产生的结果为0,并(作为副作用)把0赋值给i。
大多数C语言运算符允许它们的操作数是变量、常量或者包含其它运算符的表达式。然而,赋值运算符要求它的左操作数必须是左值。左值表示存储在计算机内存中的对象。而不是常量或者计算的结果。
后缀和后缀–比一元的正号、负号优先级高,而且都是左结合的。前缀和前缀–与一元的正号、负号优先级相同,而且都是右结合的。
答:左值是可以出现在赋值左侧的表达式,而右值是可以出现在赋值右侧的表达式。因此,右值可以是变量、常量或者更加复杂的表达式。
答:可以。自增和自减运算也可以用于浮点数,但实际应用中极少采用自增和自减运算符处理float型变量。
答:C语言标准中引入了顺序点的概念,并且指出应该在前一个顺序点和下一个顺序点之间对存储的操作数的值进行更新。在C语言中有多种不同类型的顺序点,表达式语句的末尾是其中一种。在表达式语句的末尾,该语句中的所有自增和自减操作都必须执行完毕,否则不能执行下一条语句。
其它的一些运算符(逻辑与、逻辑或、条件和逗号)对顺序点也有影响。函数调用也是如此:在函数调用执行之前,所有的实际参数必须全部计算出来。如果实际参数恰巧是含有++或–运算符的表达式,那么必须在调用前进行自增或自减操作。
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://blog.csdn.net/m0_57304511/article/details/123135803
内容来源于网络,如有侵权,请联系作者删除!