+ -
当前位置:首页 → 问答吧 → C语言有副作用的操作数有哪些?

C语言有副作用的操作数有哪些?

时间:2011-12-19

来源:互联网

=,+=,-=,*=,/=?
它们都是有副作用的操作符,对否?
还有哪些?

作者: goojnag   发布时间: 2011-12-19

没有绝对,只有相对,楼主说的副作用是什么应用场景的呢?

作者: mscf   发布时间: 2011-12-19

《C语言程序设计 现代方法》4.2.1
大多数C语言运算符不会改变操作数的值,但是也有一些会改变。由于这类运算符所作的不再仅仅是计算出值,所以称它们有副作用。

作者: goojnag   发布时间: 2011-12-19

按照书上对副作用的定义。那么,所有赋值操作符(简单的,复合的)都有副作用了,对否?

作者: goojnag   发布时间: 2011-12-19

副作用指的是什么?

作者: quwei197874   发布时间: 2011-12-19

又见“大师”级人物在发些乱七八糟的贴!
蠢,不懂就别回帖了!

作者: goojnag   发布时间: 2011-12-19

C/C++ code

#include <iostream>
using namespace std;
void main()
{
    int a=5;
    (a++)++;//error,++操作符返回的是右值
}

作者: shenxinji   发布时间: 2011-12-19

1.在表达式求值过程中,需要提取这些变量的值,但并不改变这些变量的值,这样的表达式称为无副作用的表达式。
2.对使用的变量不但引用,对它们的值还加以改变,这样的表达式称为有副作用的表达式。
当然你这些复合运算符都有副作用,还有其他的单目运算符也具有副作用:比如1,前增1,前减1,(++i, --i);后增1,后减1(i++,i--);
3.另外,有的指针表达式也有副作用。

作者: cfjtaishan   发布时间: 2011-12-19