关于编程语句i++与++i的区别用法
来源:互联网 发布:iphone怎么授权软件 编辑:程序博客网 时间:2024/06/05 03:21
首先我们定义一个变量i,int i=5;
然后我们做执行printf(“%d”,i++);
我们会发现输出结果是5。
是为什么呢,我们要搞清楚printf(“%d”,i++);
这句话是做两件事:
1.输出i
2.i=i+1;
这里的顺序,是先输出i,再执行i=i+1;
然后我们初始化变量i,i=5;
然后我们做执行printf(“%d”,++i);
我们会发现输出结果是6。
其实printf(“%d”,++i);做的也是这两件事,
1.输出i
2.i=i+1;
只是先做i=i+1;然后输出i;
总结:++i;i++;的区别:
i++先做别的事,再自己加1;
++i先自己加1,再做别的事情;
形象的理解,你可以把++i比作自私的人,首先考虑自己的事;
i++是无私的,先为别人照想,这样方便记忆。
也可以参照函数:i++
function () { tmp = i; i = tmp + 1; return tmp;}
++i为
function () { i = i + 1; return i;}
总而言之,i++ 语句需要个临时变量,去存储返回自增前的值。
不要忽略这个变量的意义,了解过 C等「低级」语言的朋友,可能会了解变量的内部机制。首先,申请(malloc)一段内存空间,然后将值塞(push,压栈)进去,最后不用了释放(free)。
0 0
- 关于编程语句i++与++i的区别用法
- i++与++i的区别及sizeof的用法
- i++与++i的区别
- i++与++i的区别
- i++与++i的区别
- i++与++i的区别
- i++与++i的区别
- i++与++i的区别
- ++i;与i++的区别
- ++i与i++的区别
- i++与++i的区别
- i++与++i的区别
- ++i与i++的区别
- i++与++i的区别
- i++与++i的区别
- i++与++i的区别
- ++i 与i++的区别
- i++与++i的区别
- 数值的整数次方
- Java语言的非对称加密的实现
- 文章标题
- C++静态多态性之函数重载
- 使用循环语句输出空心金字塔
- 关于编程语句i++与++i的区别用法
- eclipse出现 Some character…
- php实现二维数组转置
- php中标准使用类的方法
- php复选框中获取文本框、密码域、…
- php页面js隐藏域的运用
- mysql 空值,null与not null
- Spring 使用注解方式进行事务管理
- 解决Missing argument 1 for…