黑马程序员技术交流社区

标题: 先++后++问题 [打印本页]

作者: guobin_lu    时间: 2013-3-31 17:24
标题: 先++后++问题
  1.     int i = 10;
  2.             Console.WriteLine(i++);
  3.             Console.WriteLine(++i);
  4.             Console.WriteLine(i=20);
  5.                           Console.WriteLine(i==20);
复制代码
输入结果
10
12
20
True      

先加加为什么是12


作者: DWC_5101    时间: 2013-3-31 17:41
可以参考以下注释:

            int i = 10;
            Console.WriteLine(i++);  //先执行输出语句,i为10 ;再执行i++,i变为11
            Console.WriteLine(++i);  //先执行i++,i变为12 ;再执行输出语句,i为12
            Console.WriteLine(i=20);
            Console.WriteLine(i==20);
作者: 李尧    时间: 2013-3-31 17:43
i++ 输出10 然后自增一次 i=11
然后输出++i 自增一次 i=12

无误....
作者: ↖落葉下♀媃媚    时间: 2013-3-31 17:47
int i = 10;
            Console.WriteLine(i++);  //先执行输出语句,i为10 ;再执行i++,i变为11,这里要注意不管是先加加还是后加加,i都发生变化,只是后加加没有表现出来而已,
            Console.WriteLine(++i);  //先执行i++,i变为12 ;再执行输出语句,i为12
            Console.WriteLine(i=20);
            Console.WriteLine(i==20,希望能帮到你,再不懂就多看几遍视频就好了
作者: 邓建军    时间: 2013-3-31 18:29
i++ 先执行此行语句再i=i+1
++i 先执行i=i+1再执行此行语句
作者: 王鹏程    时间: 2013-3-31 18:39
i++  自增 i+1=11 然后 ++i  变成12
作者: 许正龙    时间: 2013-3-31 19:13
int i = 10;

            Console.WriteLine(i++);//后++在执行语句过后i自增1,所有输出i等于10,自增后i=11;

            Console.WriteLine(++i);//先++,顾名思义,在执行这行语句之前i自增,i此时自增后为12,所以输出的结果为12

            Console.WriteLine(i=20);

                          Console.WriteLine(i==20);

作者: 郑丹丹1990    时间: 2013-3-31 20:48
    int i = 10;
            Console.WriteLine(i++);//先执行打印,只因执行完加1(因为++在后)
            Console.WriteLine(++i);//先++,后打印(因为++在前)
            Console.WriteLine(i=20);//将i赋值为20
                          Console.WriteLine(i==20);
++在前九先自身加1,
++在后就是其他执行结束后,再++。
不知道您理解了没?
作者: 葛迅    时间: 2013-3-31 21:09
啊哈哈 这个前自增 后自增的问题 也把我头疼了好久 后来我看一个题目 一下让我领悟 所以我干脆就把他背下来了 我也送给你 希望对你有用
  1.                        
  2.                         int i = 10
  3.                         int  number = 10 * i++ ; // ---> 同等于  int number = 10 * i;
  4.                                                                         //             i= i + 1;               (这个number跟i++  没有任何关系,答案是100)                       
  5.                        
  6.                                
  7.                         int i = 10
  8.                         int  number = 10 * (++i) ; //---> 同等于  i= i + 1;
  9.                                                                                 //                        int number = 10 * i; (这里的i就要先自增在乘以10,答案是110)
复制代码





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2