打印输出,与++机制

先看下面的代码,看看输出的值是多少?

    int  j = 0 ;  
    qDebug ()<< j ++;
    qDebug ()<< ++ j ;
    qDebug ()<< j ++ << j ;
    qDebug ()<< ++ j << j ;
    qDebug ()<< j << ++ j ;
    qDebug ()<< j << j ++;
 
 
    j = 0 ;  
    qDebug ()<< j ++;
    qDebug ()<< ++ j ;
    qDebug ()<< j ++ << j << j ++ << ++ j ;
    qDebug ()<< j ++ << j << j ++ << j ;

编译执行后的结果为:

0
2
2 3
4 4
5 5
6 5
0
2
4 5 3 5

6 7 5 7

可以看到有些结果跟我们想的不一样,在查阅资料后,大致的有了以下的一些思路:

在打印输出的过程中

1.  先执行运算,再进行取值。

2.  先从右向左遍历以便参数,再执行打印操作。

3.  ++Ĵ,先取参数,再++,再遍历。

4.  j++,先遍历,再++。


猜你喜欢

转载自blog.csdn.net/sinan1995/article/details/81000616