运算符

来源:互联网 发布:白知之明的读音是什么 编辑:程序博客网 时间:2024/04/28 21:29

运算符i++和++i的区别

i++是先执行后自加,后自加是指遇到结束标志后自加。C语言里面的结束标志有逗号、分号和函数的括号。

下面有几个例子可以让我们来看看++i和i++是怎么运行的:

1.int i = 2;  i = (i++) + (i++) + (i++) + (i++);
2.int i = 2;
<span style="font-family: Arial, Helvetica, sans-serif;">   i = (++i) + (++i) + (++i) + (++i);</span>
<span style="font-family: Arial, Helvetica, sans-serif;">3. int i = 2;</span>
<span style="font-family: Arial, Helvetica, sans-serif;">    i = (++i) + (i++) + (i++) + (++i);</span>
有上面说到的结束标志,我们可以知道是先计算i++,然后计算第二个i++,然后两个i++再和第三个i++计算,然后再和第四个i++计算,得到值为8,然后再自加四次,得到值为 2+2+2+2+1+1+1+1=12。第二题则是前两个++i先计算,因为计算机是要先有两个值才能进行运算,所以是先计算前两个++i,而++i经过两次自加变成了4,所以前两个++i的和为8,此时i = 4,然后遇到第三个++i,i变成5,所以答案就是4+4+5+6 = 19
所以第三题答案就是3+3+3+4+1+1=15。


i++和++i在传参里面的运用

</pre><pre name="code" class="html">
fun(int a,int b)
{
    int i = 2;
}
1.fun(i++,++i)
2.fun(i++,i++)
3.fun(++i,++i)
4.fun(++i,i++)
做这个题目我们要知道:

1、函数传参是从右往左传的;

2、++i替换成变量名,i++替换成数值

3、记住结束标志是,和;

比如第一题,从右边看,先计算++i得到变量名i,然后i自加变成3,也就是fun(3,i),最后i++,得到i = 4,所以fun(3,4)。其余三题也是一样的答案分别是多少,大家可以去敲一下运行看看,或许也可以自己发现一些规律。






0 0
原创粉丝点击