c语言里,i++与++i的区别,最好举例说明
答案:3 悬赏:40 手机版
解决时间 2021-12-03 00:23
- 提问者网友:泪痣哥哥
- 2021-12-02 19:46
c语言里,i++与++i的区别,最好举例说明
最佳答案
- 五星知识达人网友:舍身薄凉客
- 2021-12-02 20:32
- 独立的i++与++i的效果是一样的,最后都使i的值增1。
在表达式中i++取i的值参与运算,之后才执行++使i增1,而++i取i+1的值参与运算,就是说行执行++使i增1,再取i的新值参与运算。
把题面的代码printf("%d
",z);改成printf("%d %d
",z,i);,看看是不是i值比z大1?这就完全清楚了!
全部回答
- 1楼网友:老鼠爱大米
- 2021-12-02 22:16
i++ 和 ++i的基本功能是相同的,都是对变量i进行自增1运算,从功能上讲相当于i =i+1 ;
++运算符分为前缀++和后缀++,如i++中的++就是后缀运算符,++i中的就是前缀运算符,两个的区别在于:
前缀++,先使用变量,再进行变量自增1
后缀++,先进行变量自增1,再使用变量
现在分析你的代码:i=1;
k=++i; //先加,后用,i=i+1=2 k=i=2
z=i++; //先用,后加,z=i=2, i=i+1=3
输出
2
2
- 2楼网友:枭雄戏美人
- 2021-12-02 21:53
前置的++,是变量先自增1,然后再作其他操作,
后置的++,是先取变量当前的值操作,然后再自增1
你的例子中,i的初始值是1,执行k = ++i;时,先执行了 i = i + 1,也就是i的值变为2,再把i的值赋给k,所以k的值是2,i的值也是2
执行z = i ++;时,先取i的值赋给z,此时i的值是2,所以z也是2,然后再执行i= i + 1,这条语句执行完成后,i的值变为3
后置的++,是先取变量当前的值操作,然后再自增1
你的例子中,i的初始值是1,执行k = ++i;时,先执行了 i = i + 1,也就是i的值变为2,再把i的值赋给k,所以k的值是2,i的值也是2
执行z = i ++;时,先取i的值赋给z,此时i的值是2,所以z也是2,然后再执行i= i + 1,这条语句执行完成后,i的值变为3
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯