首页 新闻 会员 周边 捐助

C语言累加问题请教?

0
[待解决问题]

1、C语言的循环语句中++i和i++的区别是什么?

鲁老手的主页 鲁老手 | 菜鸟二级 | 园豆:288
提问于:2018-12-18 08:52
< >
分享
所有回答(5)
-1

在循环中通常是在循环变量更新时用到i++; 或++i; 此时二者用法完全一样没有区别;

1. 独立的i++;和++i;效果一样,都使i的值增1。

2. 作为表达式的成员时,i++的取值是i,而++i的取值是i+1。

真要说区别的话++i效率比较高

徒然喜欢你 | 园豆:1741 (小虾三级) | 2018-12-18 09:02

懂了

支持(0) 反对(0) 鲁老手 | 园豆:288 (菜鸟二级) | 2018-12-18 17:05
1

i++是先使用i,再对其+1
++i是先对其+1,再使用

Wolfycz | 园豆:218 (菜鸟二级) | 2018-12-18 09:10

正解………
[来自 Cnblogs For Xamarin]

支持(0) 反对(0) 世界哪有真情i | 园豆:202 (菜鸟二级) | 2018-12-18 22:49
0

都是i=i+1的意思,区别在于i++是i先不自加,在语句完后自加,++i先自加;
C语言中的 i++ 和 ++i 的区别

ycyzharry | 园豆:25683 (高人七级) | 2018-12-18 09:15
2

你可以这样记,就很简单了,我也是用这种方法:
程序读字符都是从上到下,从左到右来读。
人也一样。
首先得知道++是积累+1的意思

i++;从左到右读,先遇到i,所以意思是先使用i的值,再遇到++,i就积累+1了。

++i;从左到右读,先遇到++,所以意思是i先积累+1,再遇到i,就是使用i的值(这时候i已经被累计+1了)

例1:初始值i=1
程序如下
a=i++;
b=i;
输出a,b;答案就是a=1;b=2;
解析:因为从左到右读字符时,先遇到i再遇到++,意思就是先使用i值,再积累+1,“使用i的值”在这里的意思就是把i的值赋值给a,然后i再自加。

例2:初始值i=1
程序如下
a=++i;
b=i;
输出a,b;答案就是a=2;b=2;
解析:因为从左到右读字符时,先遇到++再遇到i,意思就是先把i的值积累+1,再使用i的值,“使用i的值”在这里的意思就是把i的值赋值给a。

Timothy-Lau | 园豆:351 (菜鸟二级) | 2018-12-18 09:26

太感谢,厉害呀!

支持(1) 反对(0) 鲁老手 | 园豆:288 (菜鸟二级) | 2018-12-18 17:03
0

你有这个问题的原因是你缺少一个编程基本概念->表达式的值.
每一个表达式都是有值的.i++就是一个表达式++i也是一个表达式.
他们的操作是一样的.但他们的值是不一样的.

吴瑞祥 | 园豆:29449 (高人七级) | 2018-12-18 13:25

道行太浅,还请多多指教

支持(0) 反对(0) 鲁老手 | 园豆:288 (菜鸟二级) | 2018-12-18 17:05
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册