码迷,mamicode.com
首页 > 其他好文 > 详细

19.三目运算符

时间:2015-04-01 13:02:31      阅读:168      评论:0      收藏:0      [点我收藏+]

标签:

自增(或者自减)

  分类:

    前自增  ++i

    后自增  i++

  前自增和后自增的异同:

    相同:

      最终都使 i 的值加 1

    不同:

      前自增整体表达式的值是 i 加 1 之后的值

                 后自增整体表达式的值是 i 加 1 之前的值

技术分享
 1 /*
 2     2015年4月1日 12:06:06
 3     目的:前自增与后自增的比较
 4         
 5 
 6 */
 7 
 8 # include <stdio.h>
 9 
10 int main(void)
11 {
12     int i;
13     int j;
14     int k;
15     int m;
16 
17     i = j = 3; //等价于 i = 3; j = 3;
18     k = i++; //后自增
19     m = ++j; //前自增
20 
21     printf("i = %d, j = %d, k = %d, m = %d\n", i, j, k, m);
22 
23     
24     return 0;
25     
26 }
27 /*
28     在VC6.0中运行结果是:
29 -----------------------------
30 i = 4, j = 4, k = 3, m = 4
31 -----------------------------
32     总结:
33         前自增整体表达式的值是 i 加 1 之后的值
34 
35         后自增整体表达式的值是 i 加 1 之前的值
36 
37 */
View Code

  

  为什么会出现自增(或者自减):

    1.代码更精炼

    2.自增的速度更快( i++ 自增速度要快于 i += 1)

 

  学习自增要明白的几个问题:

    1.我们编程时应该尽量屏蔽掉前自增和后自增的差别

    2. i++ 和 ++i 单独成一个语句,不要把它作为一个完整复合语句的一部分来使用

    如:

      int m = i++ + ++i + i + i++; //这样写不但是不规范的代码,而且是不可移植的代码(不同机器运行结果可能不同,因为牵扯到“顺序点”问题)

      顺序点有三个:   ,     ()    ;

      

19.三目运算符

标签:

原文地址:http://www.cnblogs.com/houhaibushihai/p/4383514.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!