首先定义一个int x=0;int x1=0;++是自增1的运算符。
x++的作用等价于x+1,但实际上在x=x++中,x取用的值还是x,++的运算是在等式运算完才生效。此时对x赋值的还是x没有++之前的值,也就是x=0;
而相对的++x是在等式运算前先进行++运算。此时x值就为1了。(x–同理)
#include <QDbug.h>
void MainWindow::tese()
{
static int x=0;
x=x++;
qDebug()<<"x="<<x;
static int x1=0;
x1=++x1;
qDebug()<<"x1="<<x1;
}
/* 计算两次后的输出值*/
x= 0
x1= 1
x= 0
x1= 2
为了避免出现这类不必要的错误,最好将x++单独一行编写。