首页 > 编程语言 > 详细

C语言成长之路24:加加和减减

时间:2020-07-20 19:21:22      阅读:54      评论:0      收藏:0      [点我收藏+]

1、前++ 和 后++

  如果单独使用,不管是前++还是后++,最重的结果都是给这个变量+1;

 

  (1)前++:先给变量自身+1,再带着这个+1之后的值去参与运算;

  (2)后++:先用原先的值去参与运算,运算过程结束后,再给变量自身+1;

注:!、~、++、--、-、(类型)、*、&、sizeof,这一级都是单目运算符号,这一级的结合方向是从右向左

 意思就是,当出现*P++时候,先运算P++,再运算*这一步骤

 

 1 void main(){
 2     /*  C语言成长之路24:加加与减减
 3      *
 4      */
 5     int a = 3;
 6     int b = a++;
 7     printf("b = %d",b); //  本次运算结束后,b就变成了4
 8 
 9     int c = 3;
10     int d = ++c;    //  先在给自身+1后,再赋值给d,所以d就等于4
11     printf("\nd = %d",d);
12 
13     int e = 3;
14     printf("\ne = %d",++e); //  结果4,原因是再调用之前先增加了
15 
16     int f = 3;
17     printf("\nf = %d",f++); //  结果3,原因是先运算完毕之后再++
18 
19     int g = 3;
20     int h = 5;
21     int i = (++g) * h;
22     printf("\ni = %d",i);   //  结果20,g先给自身+1之后=4,4*5 = 20
23 
24     int j = 3;
25     int k = 5;
26     int l = (j++) * k;
27     printf("\nl = %d",l);   //  结果15,先直接是3*5后,运算出15之后,j才变成了4
28 
29     //protect 定义一个变量x=10;y = x++ + ++x * 3 + --x + x--
30     int x = 10;
31     int y = (x++) + (++x) *3 + (--x) + (x--);
32     printf("\nx + y = %d",y);
33     /*  由于++ -- 这一类运算优先级高于加减乘除,所以先统一运算加加和减减的
34      *  1-->    x++ 此时x为10,但运算过后为11
35      *  2-->    ++x 此时x为12(11+1)
36      *  3-->    --x 此时x为11 (12-1)
37      *  4-->    x-- 此时x为11,运算过后为10
38      *  5-->    10 + 12 * 3 + 11 + 11 = 68
39      */
40 };

 

C语言成长之路24:加加和减减

原文:https://www.cnblogs.com/akne/p/13344907.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!