您的位置:首页 > 编程语言

关于编程语句i++与++i的区别用法

2016-04-23 22:45 169 查看
首先我们定义一个变量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++
[code]function () {
tmp = i;
i = tmp + 1;
return tmp;
}

[/code]

++i为
[code]function () {
i = i + 1;
return i;
}

[/code]

总而言之,i++ 语句需要个临时变量,去存储返回自增前的值。

不要忽略这个变量的意义,了解过 C
等「低级」语言的朋友,可能会了解变量的内部机制。首先,申请(malloc)一段内存空间,然后将值塞(push,压栈)进去,最后不用了释放(free)。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: