A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 达摩八戒 中级黑马   /  2014-9-8 11:32  /  926 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

a++++a
1、区分表达式(a++++a)的值和变量a的值
2a++,先定表达式后算a,表达式的值是原来没有自增运算的a的值,变量a的值则要进行自增运算
3++a,先算a后定表达式,a的值经过自增运算后+1,表达式的值是自增运算后的a
4、表达式(a++++a)的值都是a的值,只不过看++在前还是在后,在前就先算a,在后就后算a
5、不管哪种,a都是要+1
*/
  1. #include<stdio.h>

  2. int main(intargc, constchar * argv[])
  3. {
  4. int a=5,b1=0,b2=0,b3=0,b4=0;
  5. b2=a++;                 //b2=5,a=6
  6. b1=++a;                 //a=7,b1=7,
  7.     {
  8. int a=7;
  9. a=++a;
  10. printf("%d\n",a);   //a=8
  11.     }
  12. a=a++;
  13. printf("%d\n",a);       //a=7
  14. b3=-a++ + b1;
  15. printf("%d\n",b3);       //b=-(a++)+b1=-7+7=0,a=8
  16. b4=-++a+b1;
  17. printf("%d\n%d\n",a,b4); //b4=-9+7=-2,a=9
  18. return 0;
复制代码



0 个回复

您需要登录后才可以回帖 登录 | 加入黑马